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.