Data Abstraction गुण है जिसके आधार पर users को only essential details displayed किए जाते हैं। users के लिए trivial या non-essentials units display नहीं की जाती हैं। Ex: एक car को उसके individual components के बजाय एक car के रूप में देखा जाता है।
Data Abstraction को irrelevant details को ignore करने वाले object की केवल required characteristics की पहचान करने की process के रूप में भी define किया जा सकता है। किसी object के properties and behaviours उसे similar type की अन्य objects से अलग करते हैं और objects को classifying/grouping करने में भी help करते हैं।
Car चलाने वाले आदमी के real-life के example पर विचार करें। Man only यह जानता है कि accelerator press करने से कार की speed बढ़ जाएगी या break लगाने से car बंद हो जाएगी, लेकिन वह नहीं जानता कि कैसे accelerator दबाने पर speed actually में increase हो रही है, वह car के inner mechanism के बारे में नहीं जानता है या car में accelerator, brakes आदि का implementation। यह abstraction है।
Java Abstraction Example
abstract class Car{
abstract void accelerate();
}
class Suzuki extends Car{
void accelerate(){
System.out.println(“Mahindra::accelerate”);
}
}
class Main{
public static void main(String args[]){
Car obj = new Mahindra();
obj.accelerate();
}
}
- जैसा कि Java एक oop language है, abstraction को Java language की important features and building blocks में से एक के रूप में देखा जा सकता है। java में, abstract class and interface का use करके abstraction को implement किया जाता है।
- तो हम java में abstraction को कैसे implement करते हैं? Java abstraction को implement करने के लिए एक non-access modifier “abstract” provide करता है। इस abstract modifier का use classes and methods के साथ किया जा सकता है लेकिन variables नहीं।
- interface complete abstraction provide करता है यानी यह केवल method prototypes provide करता है न कि उनका implementation। एक abstract class आंशिक abstraction provide करता है जिसमें कम से कम एक method को implement नहीं किया जाना चाहिए।
Abstract class in Java
एक class जिसे abstract के रूप में declare किया जाता है उसे एक abstract class के रूप में जाना जाता है। इसमें abstract and non-abstract methods हो सकते हैं। इसे बढ़ाया जाना चाहिए और इसका method implement होना चाहिए। इसे instantiate नहीं किया जा सकता है।
Points to Remember
- एक abstract class को एक abstract keyword के साथ declare किया जाना चाहिए।
- इसमें abstract and non-abstract methods हो सकते हैं।
- इसे instantiate नहीं किया जा सकता है।
- इसमें constructors and static methods भी हो सकते हैं।
- इसके final methods हो सकते हैं जो subclass को method के body को नहीं बदलने के लिए force करेंगे।
Example of abstract class
abstract class J{}
Abstract Method in Java
एक method जिसे abstract के रूप में declare किया गया है और जिसका implementation नहीं है उसे abstract method के रूप में जाना जाता है।
Example of abstract method
abstract void printStatus();
Advantages of Abstraction
- यह चीजों को देखने की complexity को reduce करता है।
- Code duplication से बचा जाता है और पुन: reusability बढ़ाता है।
- किसी application or program की security बढ़ाने में help करता है क्योंकि users को केवल important details provide किए जाते हैं।