इस लेख में, हम पायथन 3.x में इनहेरिटेंस और एक्सटेंडिंग क्लासेस सीखेंगे। या पहले।
वंशानुक्रम वास्तविक दुनिया के संबंधों का अच्छी तरह से प्रतिनिधित्व करता है, पुन:प्रयोज्य प्रदान करता है और पारगमन का समर्थन करता है। यह तेजी से विकास समय, आसान रखरखाव और विस्तार में आसान प्रदान करता है।
वंशानुक्रम को मोटे तौर पर 5 प्रकारों में वर्गीकृत किया जाता है -
- अकेला
- एकाधिक
- पदानुक्रमित
- बहु-स्तरीय
- हाइब्रिड
जैसा कि ऊपर दिए गए चित्र में दिखाया गया है कि वंशानुक्रम वह प्रक्रिया है जिसमें हम वास्तव में मूल वर्ग की वस्तु बनाए बिना अन्य वर्गों की सुविधाओं तक पहुँचने का प्रयास करते हैं।
यहां हम एकल और पदानुक्रमित विरासतों के कार्यान्वयन के बारे में सीखेंगे।
एकल विरासत
उदाहरण
# parent class class Student(): # constructor of parent class def __init__(self, name, enrollnumber): self.name = name self.enrollnumber = enrollnumber def display(self): print(self.name) print(self.enrollnumber) # child class class College( Student ): def __init__(self, name, enrollnumber, admnyear, branch): self.admnyear = admnyear self.branch = branch # invoking the __init__ of the parent class Student.__init__(self, name, enrollnumber) # creation of an object for base/derived class obj = College('Rohit',42414802718,2018,"CSE") obj.display()
आउटपुट
Rohit 42414802718
एकाधिक विरासत
उदाहरण
# parent class class Student(): # constructor of parent class def __init__(self, name, enrollnumber): self.name = name self.enrollnumber = enrollnumber def display(self): print(self.name) print(self.enrollnumber) # child class class College( Student ): def __init__(self, name, enrollnumber, admnyear, branch): self.admnyear = admnyear self.branch = branch # invoking the __init__ of the parent class Student.__init__(self, name, enrollnumber) # child class class University( Student ): def __init__(self, name, enrollnumber, refno, branch): self.refno = refno self.branch = branch # invoking the __init__ of the parent class Student.__init__(self, name, enrollnumber) # creation of an object for base/derived class obj_1 = College('Rohit',42414802718,2018,"CSE") obj_1.display() obj_2 = University ('Rohit',42414802718,"st2018","CSE") obj_2.display()
आउटपुट
Rohit 42414802718 Rohit 42414802718
निष्कर्ष
इस लेख में, हमने व्यापक रूप से एकल और पदानुक्रमित वंशानुक्रम में पायथन में वंशानुक्रम के बारे में सीखा।