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

पायथन में विरासत

इस लेख में, हम पायथन 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

निष्कर्ष

इस लेख में, हमने व्यापक रूप से एकल और पदानुक्रमित वंशानुक्रम में पायथन में वंशानुक्रम के बारे में सीखा।


  1. पायथन कक्षाओं के लिए वंशानुक्रम बनाम तात्कालिकता की व्याख्या करें।

    विरासत ऑब्जेक्ट ओरिएंटेड भाषा होने के कारण, Python इनहेरिटेंस का समर्थन करता है, यहाँ तक कि यह मल्टीपल इनहेरिटेंस को भी सपोर्ट करता है। कक्षाएं अन्य वर्गों से विरासत में मिल सकती हैं। एक वर्ग किसी अन्य वर्ग से विशेषताओं और व्यवहार विधियों को प्राप्त कर सकता है, जिसे सुपरक्लास कहा जाता है। एक वर्ग जो

  1. पायथन में कक्षाओं और विरासत का परिचय

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

  1. पायथन में क्लास इनहेरिटेंस कैसे काम करता है?

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