एक अमूर्त वर्ग संबंधित वर्गों के लिए एक खाका है। इसे तत्काल नहीं किया जा सकता है लेकिन केवल विरासत के माध्यम से ही पहुंचा जा सकता है। एक उपवर्ग जो एक अमूर्त वर्ग को इनहेरिट करता है, उसे इसके अमूर्त तरीकों को लागू करने की आवश्यकता होती है। अन्यथा, संकलक एक त्रुटि को चिह्नित करेगा।

सार विधियां कार्यान्वयन के बिना विधियां हैं। एक अमूर्त वर्ग में अमूर्त विधियाँ या ठोस (सामान्य) विधियाँ हो सकती हैं।

पायथन सीधे अमूर्त तरीकों का समर्थन नहीं करता है, लेकिन आप उन्हें के माध्यम से एक्सेस कर सकते हैं एबीसी (सार आधार वर्ग) मॉड्यूल।

पायथन में एबीसी मॉड्यूल का उपयोग करना

पायथन में एक अमूर्त वर्ग को परिभाषित करने के लिए, आपको चाहिए आयात एबीसी मॉड्यूल।

नीचे दिया गया उदाहरण देखें:

एबीसी आयात एबीसी से
क्लास एब्सट्रैक्ट क्लासनाम (एबीसी):
उत्तीर्ण

कीवर्ड पर ध्यान दें उत्तीर्ण. इस कीवर्ड का उपयोग खाली कोड के लिए खड़े होने के लिए किया जाता है। इसे छोड़ने से संकलन त्रुटि होगी।

सम्बंधित: क्या जूलिया अजगर के सिंहासन के लिए बोली लगाएगी?

वर्ग परिभाषाएँ, विधि परिभाषाएँ, लूप, और अगर कथन कोड कार्यान्वयन की अपेक्षा करते हैं। तो, उन्हें बाहर छोड़ना एक संकलन त्रुटि देता है। इससे बचने के लिए इस्तेमाल करें

instagram viewer
उत्तीर्ण खाली कोड को प्रतिस्थापित करने के लिए।

पायथन में एक अमूर्त विधि को परिभाषित करने के लिए, का उपयोग करें @abstractmethod डेकोरेटर:

एबीसी आयात एबीसी से, सार विधि
क्लास एब्सट्रैक्ट क्लासनाम (एबीसी):
@abstractmethod
def सार विधि (स्वयं):
उत्तीर्ण

इस बिंदु पर, यह उल्लेख करना अच्छा होगा कि - जावा के विपरीत - पायथन में सार विधियों का कार्यान्वयन हो सकता है। इस कार्यान्वयन को ओवरराइडिंग विधि का उपयोग करके एक्सेस किया जा सकता है उत्तम() तरीका।

आयात एबीसी
क्लास एब्सट्रैक्ट क्लास (एबीसी):
def __init__ (स्वयं, मान):
स्वयं मूल्य = मूल्य
सुपर () .__ init __ ()
@abc.abstractmethod
def some_action (स्वयं):
प्रिंट ("यह मूल कार्यान्वयन है।")
कक्षा MySubclass (सार क्लास उदाहरण):
def some_action (स्वयं):
सुपर ()। some_action ()
प्रिंट ("यह उपवर्ग कार्यान्वयन है। ")
एक्स = माईसबक्लास ()
x.some_action ()

यह ध्यान रखना दिलचस्प है कि आप एक कंस्ट्रक्टर को एक अमूर्त वर्ग में परिभाषित कर सकते हैं।

लाइन 9 पर, आप देख सकते हैं कि @abc.abstractmethod सार विधि डेकोरेटर के रूप में इस्तेमाल किया गया है। यह पिछले फॉर्म के अलावा ऐसा करने का एक और तरीका है। यह भी ध्यान दें कि पंक्ति 1 छोटी है (आयात एबीसी) आपके द्वारा उपयोग किए गए पूर्व पंक्ति 1 आयात की तुलना में।

यह सब पसंद की बात है। हालांकि, कई लोगों को दूसरी विधि छोटी लग सकती है।

पायथन में अपवाद हैंडलिंग

ध्यान दें कि ऊपर दिए गए कोड उदाहरण में त्रुटियों को पकड़ने का कोई तरीका नहीं है। कीड़े अधिक बार नहीं होते हैं, और उन्हें प्राप्त करने का एक विश्वसनीय तरीका गेम-चेंजर हो सकता है।

सामान्य कार्यक्रम प्रवाह को बाधित करने वाली इन घटनाओं को "अपवाद" कहा जाता है, और उन्हें प्रबंधित करने को "अपवाद प्रबंधन" कहा जाता है। आपकी पायथन पठन सूची में अगला अपवाद हैंडलिंग होना चाहिए।

साझा करनाकलरवईमेल
पायथन में अपवादों को कैसे संभालें?

अपने कोडिंग बेस को पायथन अपवादों के साथ कवर करें।

आगे पढ़िए

संबंधित विषय
  • प्रोग्रामिंग
  • प्रोग्रामिंग
  • अजगर
  • प्रोग्रामिंग की भाषाएँ
लेखक के बारे में
जेरोम डेविडसन (24 लेख प्रकाशित)

जेरोम MakeUseOf में स्टाफ राइटर हैं। वह प्रोग्रामिंग और लिनक्स पर लेख शामिल करता है। वह एक क्रिप्टो उत्साही भी है और हमेशा क्रिप्टो उद्योग पर नजर रखता है।

जेरोम डेविडसन की अन्य फ़िल्में-टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें