OOP में अमूर्तता क्या है?
अमूर्त वस्तु-उन्मुख प्रोग्रामिंग की अवधारणा है जो "केवल आवश्यक विशेषताओं को दिखाता है" और अनावश्यक जानकारी को "छुपाता है"। अमूर्तता का मुख्य उद्देश्य उपयोगकर्ताओं से अनावश्यक विवरण छिपा रहा है। अमूर्त उपयोगकर्ता के लिए केवल प्रासंगिक विवरण दिखाने के लिए एक बड़े पूल से डेटा का चयन कर रहा है। यह प्रोग्रामिंग जटिलता और प्रयासों को कम करने में मदद करता है। यह ओओपी की सबसे महत्वपूर्ण अवधारणाओं में से एक है।
यदि वीडियो उपलब्ध नहीं है तो यहां क्लिक करें
आइए उदाहरण के साथ OOPs में अध्ययन अमूर्त करें:
मान लीजिए कि आप बैंकिंग एप्लिकेशन बनाना चाहते हैं और आपको अपने ग्राहक के बारे में सभी जानकारी एकत्र करने के लिए कहा जाता है। ऐसी संभावनाएं हैं कि आप ग्राहक के बारे में निम्नलिखित जानकारी लेकर आएंगे

लेकिन, उपरोक्त सभी जानकारी बैंकिंग अनुप्रयोग बनाने के लिए आवश्यक नहीं है।
तो, आपको उस पूल से अपने बैंकिंग एप्लिकेशन के लिए केवल उपयोगी जानकारी का चयन करना होगा। नाम, पता, कर जानकारी, आदि जैसे डेटा एक बैंकिंग एप्लिकेशन के लिए समझ में आते हैं जो OOPs में एक एब्सट्रैक्शन उदाहरण है
चूंकि हमने ग्राहक सूचना को एक बड़े पूल से प्राप्त / हटा / चयनित किया है, इसलिए इस प्रक्रिया को OOPs में एब्सट्रैक्शन कहा जाता है।
हालांकि, निकाले गए एक ही जानकारी का उपयोग आवेदनों की एक विस्तृत श्रृंखला के लिए किया जा सकता है। उदाहरण के लिए, आप अस्पताल के आवेदन, नौकरी पोर्टल आवेदन, सरकारी डेटाबेस आदि के लिए समान डेटा का उपयोग बहुत कम या बिना किसी संशोधन के कर सकते हैं। इसलिए, यह आपका मास्टर डेटा बन जाता है। यह OOPs में एब्सट्रैक्शन का एक फायदा है।
Abstraction और Encapsulation के बीच अंतर
मतिहीनता | कैप्सूलीकरण |
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में अमूर्तता डिजाइन स्तर पर मुद्दों को हल करती है। | एनकैप्सुलेशन इसे लागू करने के स्तर को हल करता है। |
प्रोग्रामिंग में अमूर्त सबसे आवश्यक जानकारी दिखाते हुए अवांछित विवरण छिपाने के बारे में है। | एनकैप्सुलेशन का मतलब कोड और डेटा को एक इकाई में बांधना है। |
जावा में डेटा एब्स्ट्रेक्शन सूचना वस्तु को क्या होना चाहिए, इस पर ध्यान केंद्रित करने की अनुमति देता है | एनकैप्सुलेशन का मतलब आंतरिक विवरण या यांत्रिकी को छिपाना है कि कोई सुरक्षा कारणों से किसी वस्तु को कैसे करता है। |
सार वर्ग और इंटरफ़ेस के बीच अंतर
सार वर्ग | इंटरफेस |
एक सार वर्ग में अमूर्त और गैर-सार दोनों तरीके हो सकते हैं। | इंटरफ़ेस में केवल सार विधियाँ हो सकती हैं। |
यह कई विरासतों का समर्थन नहीं करता है। | यह कई विरासतों का समर्थन करता है। |
यह इंटरफ़ेस का कार्यान्वयन प्रदान कर सकता है। | यह अमूर्त वर्ग का कार्यान्वयन प्रदान नहीं कर सकता है। |
एक अमूर्त वर्ग में सार्वजनिक विधियों की रक्षा और सार हो सकता है। | एक इंटरफ़ेस में केवल सार्वजनिक सार विधियाँ हो सकती हैं। |
एक सार वर्ग में किसी भी एक्सेस स्पेसियर के साथ अंतिम, स्थिर या स्थिर अंतिम चर हो सकता है। | इंटरफ़ेस में केवल सार्वजनिक स्थिर अंतिम चर हो सकता है। |
अमूर्त वर्ग क्या है?
ओपन्स में एब्सट्रैक्ट क्लास एक प्रकार का वर्ग है, जो एक या अधिक सार विधियों की घोषणा करता है। इन वर्गों में अमूर्त विधियों के साथ-साथ ठोस विधियां भी हो सकती हैं। एक सामान्य वर्ग में अमूर्त विधियाँ नहीं हो सकती हैं। एक अमूर्त वर्ग एक ऐसा वर्ग है जिसमें कम से कम एक अमूर्त विधि होती है।
अमूर्त तरीके क्या हैं?
अमूर्त विधि एक ऐसी विधि है जिसमें सिर्फ विधि की परिभाषा है लेकिन कार्यान्वयन नहीं है। शरीर के बिना एक विधि को सार विधि के रूप में जाना जाता है। इसे एक अमूर्त वर्ग में घोषित किया जाना चाहिए। अमूर्त विधि कभी अंतिम नहीं होगी क्योंकि अमूर्त वर्ग को सभी अमूर्त विधियों को लागू करना होगा।
अमूर्त के फायदे
- प्रोग्रामिंग में एब्सट्रैक्शन का उपयोग करने का मुख्य लाभ यह है कि यह आपको कई संबंधित वर्गों को भाई-बहन के रूप में समूह बनाने की अनुमति देता है।
- ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में अमूर्तता सॉफ्टवेयर की डिजाइन और कार्यान्वयन प्रक्रिया की जटिलता को कम करने में मदद करती है।
एब्सट्रैक्ट मेथड्स और एब्सट्रैक्ट क्लास का उपयोग कब करें?
सार विधियां ज्यादातर घोषित की जाती हैं जहां दो या दो से अधिक उपवर्ग अलग-अलग कार्यान्वयन के माध्यम से अलग-अलग तरीकों से एक ही काम कर रहे हैं। यह एक ही सार वर्ग का विस्तार भी करता है और अमूर्त विधियों के विभिन्न कार्यान्वयन प्रदान करता है।
सार कक्षाएं सामान्य प्रकार के व्यवहार और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग क्लास पदानुक्रम का वर्णन करने में मदद करती हैं। यह उपवर्गों को अमूर्त वर्ग के कार्यान्वयन विवरण प्रदान करने के लिए भी वर्णन करता है।
सारांश:
- प्रोग्रामिंग में अमूर्त अपने सॉफ्टवेयर में एक वस्तु के लिए महत्वपूर्ण डेटा सेट का चयन करने और तुच्छ लोगों को छोड़ने की प्रक्रिया है।
- एक बार जब आप जावा में डेटा एब्स्ट्रेक्शन का उपयोग करके अपनी वस्तु को मॉडल कर लेते हैं, तो डेटा का एक ही सेट विभिन्न अनुप्रयोगों में उपयोग किया जा सकता है।