Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การสืบทอดใน Python


ในบทความนี้ เราจะเรียนรู้การสืบทอดและการขยายคลาสใน Python 3.x หรือก่อนหน้านั้น

การสืบทอดแสดงถึงความสัมพันธ์ในโลกแห่งความเป็นจริงได้ดี ให้การนำกลับมาใช้ใหม่ได้ และสนับสนุนการถ่ายทอด ให้เวลาในการพัฒนาที่เร็วขึ้น บำรุงรักษาง่ายขึ้น และขยายได้ง่าย

มรดกแบ่งออกเป็น 5 ประเภทใหญ่ๆ –

  • โสด
  • หลายรายการ
  • ลำดับชั้น
  • หลายระดับ
  • ไฮบริด

การสืบทอดใน Python

ดังที่แสดงในรูปด้านบนว่าการสืบทอดเป็นกระบวนการที่เราพยายามเข้าถึงคุณสมบัติของคลาสอื่นโดยไม่ได้สร้างวัตถุของคลาสพาเรนต์จริง ๆ

เราจะมาเรียนรู้เกี่ยวกับการนำการสืบทอดแบบเดี่ยวและแบบลำดับชั้นไปใช้งาน

มรดกเดี่ยว

ตัวอย่าง

# 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

บทสรุป

ในบทความนี้ เราได้เรียนรู้เกี่ยวกับการสืบทอดใน Python แบบกว้างๆ และการสืบทอดแบบลำดับชั้น