
What is Abstraction | OOP Concept | Python
CampusX
Overview
यह वीडियो ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) के एक महत्वपूर्ण कॉन्सेप्ट, एब्स्ट्रेक्शन (Abstraction) को समझाता है। एब्स्ट्रेक्शन का मतलब है जटिलता को छुपाना और केवल जरूरी फीचर्स को दिखाना। वीडियो लैपटॉप और इलेक्ट्रोमैग्नेटिक वेव्स जैसे रियल-वर्ल्ड उदाहरणों से इसे समझाता है और फिर पाइथन में कोड के माध्यम से दिखाता है कि कैसे एक पैरेंट एब्स्ट्रेक्ट क्लास (जैसे बैंक ऐप) चाइल्ड क्लासेस (जैसे मोबाइल ऐप, वेब ऐप) पर कुछ नियम (जैसे सिक्योरिटी फंक्शन का होना) लागू कर सकती है। यह सुनिश्चित करता है कि चाइल्ड क्लासेस आवश्यक कार्यान्वयन (implementation) प्रदान करें, जिससे कोड अधिक सुरक्षित और व्यवस्थित बनता है।
Save this permanently with flashcards, quizzes, and AI chat
Chapters
- एब्स्ट्रेक्शन का मतलब है किसी चीज़ की जटिल आंतरिक कार्यप्रणाली को छुपाना और केवल आवश्यक इंटरफ़ेस या फीचर्स को दिखाना।
- लैपटॉप एक अच्छा उदाहरण है: हमें इसके अंदर के सर्किट्स की परवाह नहीं है, बस सतह पर कीबोर्ड और माउस का उपयोग करना आना चाहिए।
- इलेक्ट्रोमैग्नेटिक वेव्स भी छिपी हुई हैं लेकिन सेल फोन और इंटरनेट जैसी तकनीकों को संभव बनाती हैं।
- एक टॉप-लेवल बैंक ऐप डेटाबेस से जुड़ा होता है और वेब ऐप और मोबाइल ऐप जैसे चाइल्ड एप्लिकेशन को सेवाएँ प्रदान करता है।
- पैरेंट क्लास (बैंक ऐप) चाइल्ड क्लासेस (वेब ऐप, मोबाइल ऐप) पर नियम लागू कर सकता है, जैसे कि उन्हें एक 'सिक्योरिटी' फंक्शन लागू करना होगा।
- यह नियम सुनिश्चित करता है कि सभी चाइल्ड एप्लिकेशन सुरक्षित रहें, भले ही वे सिक्योरिटी को अलग-अलग तरीकों से लागू करें।
- एब्स्ट्रेक्ट क्लास बनाने के लिए, हमें `abc` मॉड्यूल से `ABC` क्लास को इनहेरिट करना होता है।
- एब्स्ट्रेक्ट मेथड वे होते हैं जिनमें कोई कोड नहीं लिखा होता और उनके ऊपर `@abstractmethod` डेकोरेटर लगा होता है।
- यदि कोई क्लास एब्स्ट्रेक्ट क्लास को इनहेरिट करती है, तो उसे सभी एब्स्ट्रेक्ट मेथड्स को लागू (implement) करना पड़ता है, अन्यथा उसका ऑब्जेक्ट नहीं बनाया जा सकता।
- एब्स्ट्रेक्शन जटिलता को छुपाता है और केवल आवश्यक जानकारी को उजागर करता है।
- यह टॉप-लेवल क्लास डिजाइनर्स को चाइल्ड क्लासेस पर कंस्ट्रेंट (बाध्यताएँ) लागू करने की अनुमति देता है।
- एब्स्ट्रेक्ट क्लास का सीधे ऑब्जेक्ट नहीं बनाया जा सकता; यह केवल एक ब्लूप्रिंट के रूप में कार्य करता है।
- एब्स्ट्रेक्शन OOP का एक कम इस्तेमाल होने वाला लेकिन उपयोगी प्रिंसिपल है, जिसे जरूरत के हिसाब से इस्तेमाल किया जा सकता है।
Key takeaways
- एब्स्ट्रेक्शन का मुख्य उद्देश्य जटिलता को छुपाना और केवल जरूरी फीचर्स को दिखाना है।
- सॉफ्टवेयर में, एब्स्ट्रेक्शन डेवलपर्स को चाइल्ड क्लासेस पर आवश्यक कार्यान्वयन (implementation) लागू करने के लिए मजबूर करने का एक तरीका है।
- पाइथन में, एब्स्ट्रेक्ट क्लास और एब्स्ट्रेक्ट मेथड का उपयोग करके एब्स्ट्रेक्शन को लागू किया जाता है।
- एब्स्ट्रेक्ट क्लास का ऑब्जेक्ट नहीं बनाया जा सकता; यह केवल इनहेरिटेंस के लिए एक टेम्पलेट है।
- किसी एब्स्ट्रेक्ट क्लास को इनहेरिट करने वाली चाइल्ड क्लास को उसके सभी एब्स्ट्रेक्ट मेथड्स को लागू करना अनिवार्य है।
- एब्स्ट्रेक्शन कोड को अधिक व्यवस्थित, सुरक्षित और समझने में आसान बनाता है।
Key terms
Test your understanding
- एब्स्ट्रेक्शन का क्या मतलब है और यह रियल-वर्ल्ड में कैसे काम करता है?
- सॉफ्टवेयर डेवलपमेंट में एब्स्ट्रेक्शन का उपयोग क्यों महत्वपूर्ण है?
- पाइथन में एक एब्स्ट्रेक्ट क्लास और एक एब्स्ट्रेक्ट मेथड को कैसे परिभाषित किया जाता है?
- यदि कोई क्लास एब्स्ट्रेक्ट क्लास को इनहेरिट करती है तो उसे किन नियमों का पालन करना पड़ता है?
- एब्स्ट्रेक्शन का उपयोग करने के क्या फायदे हैं?