Trong bài viết này, chúng ta sẽ tìm hiểu kế thừa và mở rộng các lớp trong Python 3.x. Hoặc sớm hơn.
Tính kế thừa thể hiện tốt các mối quan hệ trong thế giới thực, cung cấp khả năng tái sử dụng và hỗ trợ quá trình chuyển đổi. 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.
Thừa kế được phân loại rộng rãi thành 5 loại -
- Đơn
- Nhiều
- Phân cấp
- Đa cấp
- Kết hợp
Như thể hiện trong hình trên, kế thừa là quá trình 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 thực sự tạo đối tượng của lớp cha.
Ở đây chúng ta sẽ tìm hiểu về cách triển khai các thừa kế đơn lẻ và phân cấp.
Kế thừa đơn
Ví dụ
# 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() Đầu ra
Rohit 42414802718
Đa kế thừa
Ví dụ
# 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() Đầu ra
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, nói chung là kế thừa đơn và có thứ bậc.