ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग कोड के पुन:प्रयोज्य पैटर्न को प्रोजेक्ट में कोड अतिरेक को रोकने के लिए बनाता है। पुनरावर्तनीय कोड बनाने का एक तरीका इनहेरिटेंस के माध्यम से होता है, जब एक उपवर्ग दूसरे बेस क्लास से कोड का लाभ उठाता है।
वंशानुक्रम तब होता है जब एक वर्ग दूसरे वर्ग के भीतर लिखे कोड का उपयोग करता है।
चाइल्ड क्लास या सबक्लास नामक क्लास पैरेंट क्लास या बेस क्लास से मेथड्स और वेरिएबल को इनहेरिट करते हैं।
चूंकि चाइल्ड सबक्लास पेरेंट बेस क्लास से इनहेरिट कर रहा है, चाइल्ड क्लास पेरेंट के कोड का पुन:उपयोग कर सकता है, जिससे प्रोग्रामर को कोड की कम लाइनों का उपयोग करने और रिडंडेंसी को कम करने की अनुमति मिलती है।
व्युत्पन्न वर्गों को उनके मूल वर्ग की तरह ही घोषित किया जाता है; हालांकि, इनहेरिट करने के लिए बेस क्लास की सूची क्लास के नाम के बाद दी गई है -
कक्षा SubClassName (ParentClass1[,parentClass2,...]):'वैकल्पिक वर्ग दस्तावेज़ीकरण स्ट्रिंग' class_suite
उदाहरण
क्लास पेरेंट:# पैरेंट क्लास पेरेंटएट =100 डीईएफ़ __init__ (सेल्फ):प्रिंट "कॉलिंग पेरेंट कंस्ट्रक्टर" डिफ पेरेंटमेथोड (सेल्फ):प्रिंट 'कॉलिंग पेरेंट मेथड' डिफ सेटएटर (सेल्फ, एटीआर):पेरेंट.पैरेंटएट्र =एटीआर def getAttr(self):प्रिंट "पैरेंट एट्रिब्यूट:", पैरेंट.पेरेंटएट्रक्लास चाइल्ड (पैरेंट):# चाइल्ड क्लास डिफाइन __init__ (सेल्फ):प्रिंट "कॉलिंग चाइल्ड कंस्ट्रक्टर" डिफ चाइल्डमैथोड (सेल्फ):प्रिंट 'कॉलिंग चाइल्ड मेथड' सी =चाइल्ड () # चाइल्डक.चाइल्डमेथोड का उदाहरण () # चाइल्ड कॉल इसकी मेथडc.parentMethod () # पैरेंट की मेथड को कॉल करता है।आउटपुट
जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है
चाइल्ड कंस्ट्रक्टर को कॉल करना चाइल्ड मेथड को कॉल करना पैरेंट मेथड को कॉल करना पैरेंट एट्रिब्यूट :200