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