Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में इनहेरिटेंस (Inheritance)


इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण में इनहेरिटेंस और क्लासेस को एक्सटेंड करने के बारे में जानेंगे।

इनहेरिटेंस वास्तविक दुनिया के संबंधों को अच्छी तरह से दर्शाता है, पुन: प्रयोज्यता प्रदान करता है और ट्रांजिटिविटी का समर्थन करता है। यह तेज़ विकास समय, आसान रखरखाव और विस्तार में आसानी प्रदान करता है।

इनहेरिटेंस को मोटे तौर पर 5 प्रकारों में वर्गीकृत किया गया है -

  • सिंगल
  • मल्टीपल
  • हायरार्किकल
  • मल्टी-लेवल
  • हाइब्रिड

पायथन में इनहेरिटेंस (Inheritance)

जैसा कि ऊपर दिए गए चित्र में दिखाया गया है कि इनहेरिटेंस वह प्रक्रिया है जिसमें हम पैरेंट क्लास का ऑब्जेक्ट बनाए बिना अन्य क्लासेस की सुविधाओं तक पहुंचने का प्रयास करते हैं।

यहां हम सिंगल और हायरार्किकल इनहेरिटेंस के कार्यान्वयन के बारे में सीखेंगे।

सिंगल इनहेरिटेंस

उदाहरण

# पैरेंट क्लास
class Student():
# पैरेंट क्लास का कंस्ट्रक्टर
def __init__(self, name, enrollnumber):
self.name = name
self.enrollnumber = enrollnumber
def display(self):
print(self.name)
print(self.enrollnumber)

# चाइल्ड क्लास
class College(Student):
def __init__(self, name, enrollnumber, admnyear, branch):
self.admnyear = admnyear
self.branch = branch
# पैरेंट क्लास के __init__ को इनवोक करना
Student.__init__(self, name, enrollnumber)

# बेस/डेराइव्ड क्लास के लिए ऑब्जेक्ट बनाना
obj = College('Rohit', 42414802718, 2018, "CSE")
obj.display()

आउटपुट

Rohit
42414802718

मल्टीपल इनहेरिटेंस

उदाहरण

# पैरेंट क्लास
class Student():
# पैरेंट क्लास का कंस्ट्रक्टर
def __init__(self, name, enrollnumber):
self.name = name
self.enrollnumber = enrollnumber
def display(self):
print(self.name)
print(self.enrollnumber)

# चाइल्ड क्लास
class College(Student):
def __init__(self, name, enrollnumber, admnyear, branch):
self.admnyear = admnyear
self.branch = branch
# पैरेंट क्लास के __init__ को इनवोक करना
Student.__init__(self, name, enrollnumber)

# चाइल्ड क्लास
class University(Student):
def __init__(self, name, enrollnumber, refno, branch):
self.refno = refno
self.branch = branch
# पैरेंट क्लास के __init__ को इनवोक करना
Student.__init__(self, name, enrollnumber)

# बेस/डेराइव्ड क्लास के लिए ऑब्जेक्ट बनाना
obj_1 = College('Rohit', 42414802718, 2018, "CSE")
obj_1.display()
obj_2 = University('Rohit', 42414802718, "st2018", "CSE")
obj_2.display()

आउटपुट

Rohit 42414802718
Rohit 42414802718

निष्कर्ष

इस लेख में, हमने पायथन में इनहेरिटेंस के बारे में मोटे तौर पर सिंगल और हायरार्किकल इनहेरिटेंस के बारे में सीखा।

  1. - पायथन क्लास के लिए विरासत बनाम इंस्टेंशिएशन समझाएं

    विरासतएक ऑब्जेक्ट-ओरिएंटेड भाषा होने के नाते, पायथन विरासत का समर्थन करता है, यह बहु-विरासत का भी समर्थन करता है। क्लास अन्य क्लास से विरासत ले सकती हैं। एक क्लास दूसरी क्लास से एट्रिब्यूट्स और व्यवहार मेथड्स विरासत में ले सकती है, जिसे सुपरक्लास कहा जाता है। जो क्लास सुपरक्लास से विरासत लेती है उसे

  1. - Python में क्लासेस और इनहेरिटेंस का परिचय

    ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग प्रोजेक्ट्स में कोड रिडंडेंसी को रोकने के लिए कोड के पुन: प्रयोज्य पैटर्न बनाता है। पुन: प्रयोज्य कोड बनाने का एक तरीका इनहेरिटेंस है, जब एक सबक्लास दूसरी बेस क्लास से कोड का लाभ उठाता है। इनहेरिटेंस तब होता है जब एक क्लास दूसरी क्लास के भीतर लिखे कोड का उपयोग करती है।

  1. - Python में क्लास इनहेरिटेंस कैसे काम करती है?

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