Trong bài viết này, chúng ta sẽ tìm hiểu về kế thừa và mở rộng lớp trong Python 3.x hoặc các phiên bản trước đó.
Kế thừa đại diện tốt cho các mối quan hệ thực tế, cung cấp khả năng tái sử dụng & hỗnh tính bắc cầu. Nó cung cấp thời gian phát triển nhanh hơn, bảo trì dễ dàng hơn và dễ dàng mở rộng.
Kế thừa được phân loại rộng rãi thành 5 loại:
- Đơn (Single)
- Đa (Multiple)
- Phân cấp (Hierarchical)
- Đa cấp (Multi-level)
- Kết hợp (Hybrid)

Như hình trên cho thấy, kế thừa là quá trình mà trong đó chúng ta cố gắng truy cập các tính năng của các lớp khác mà không cần thực sự tạo đối tượng của lớp cha.
Ở đây chúng ta sẽ tìm hiểu về triển khai của kế thừa đơn và kế thừa phân cấp.
Kế thừa đơn (Single inheritance)
Ví dụ
# Lớp cha
class Student():
# Constructor của lớp cha
def __init__(self, name, enrollnumber):
self.name = name
self.enrollnumber = enrollnumber
def display(self):
print(self.name)
print(self.enrollnumber)
# Lớp con
class College(Student):
def __init__(self, name, enrollnumber, admnyear, branch):
self.admnyear = admnyear
self.branch = branch
# Gọi __init__ của lớp cha
Student.__init__(self, name, enrollnumber)
# Tạo đối tượng cho lớp cơ sở/đã dẫn xuất
obj = College('Rohit', 42414802718, 2018, "CSE")
obj.display()
Kết quả
Rohit 42414802718
Kế thừa đa (Multiple inheritance)
Ví dụ
# Lớp cha
class Student():
def __init__(self, name, enrollnumber):
self.name = name
self.enrollnumber = enrollnumber
def display(self):
print(self.name)
print(self.enrollnumber)
# Lớp con
class College(Student):
def __init__(self, name, enrollnumber, admnyear, branch):
self.admnyear = admnyear
self.branch = branch
Student.__init__(self, name, enrollnumber)
# Lớp con
class University(Student):
def __init__(self, name, enrollnumber, refno, branch):
self.refno = refno
self.branch = branch
Student.__init__(self, name, enrollnumber)
# Tạo đối tượng cho lớp cơ sở/đã dẫn xuất
obj_1 = College('Rohit', 42414802718, 2018, "CSE")
obj_1.display()
obj_2 = University('Rohit', 42414802718, "st2018", "CSE")
obj_2.display()
Kết quả
Rohit 42414802718 Rohit 42414802718
Kết luận
Trong bài viết này, chúng ta đã tìm hiểu về Kế thừa trong Python rộng rãi là kế thừa đơn và kế thừa phân cấp.