ในบทความนี้ เราจะเรียนรู้การสืบทอดและการขยายคลาสใน 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
บทสรุป
ในบทความนี้ เราได้เรียนรู้เกี่ยวกับการสืบทอดใน Python แบบกว้างๆ และการสืบทอดแบบลำดับชั้น