Thứ Năm, 23 tháng 5, 2024

42. Kế thừa Inheritance trong Python

Kế thừa (Inheritance) cho phép chúng ta định nghĩa một lớp kế thừa tất cả các phương thức và thuộc tính từ một lớp khác.

Parent class là lớp được các lớp khác kế thừa, còn gọi là base class.

Child class là lớp kế thừa từ lớp cha (Parent class), còn gọi là lớp dẫn xuất (Derived class).

Kế thừa là một khía cạnh quan trọng của mô hình lập trình hướng đối tượng. Kế thừa cung cấp khả năng sử dụng lại mã cho chương trình vì chúng ta có thể sử dụng một lớp hiện có để tạo một lớp mới thay vì tạo nó từ đầu.

Trong kế thừa, lớp con có được các thuộc tính và có thể truy cập tất cả các thành viên dữ liệu và các hàm được định nghĩa trong lớp cha. Một lớp con cũng có thể cung cấp việc triển khai cụ thể cho các hàm của lớp cha. 

Bất cứ lớp nào cũng có thể là lớp cha (Parent class), vì vậy cú pháp để tạo Parent class chính là cú pháp tạo lớp của Python

 

Cú pháp tạo Parent class

 

class ClassName:
    # các lệnh

 

Ví dụ ta có lớp DongVat là lớp cha, lớp Cho hay lớp Meo là lớp con. Bản thân lớp Cho cũng có thể là lớp cha, khi đó lớp PhuQuoc, Chihuahua, Husky...sẽ là lớp con

Chúng ta sẽ hiện thực hóa điều trên bằng chương trình sau

 

class DongVat:
    def noi(self):
        print("Dong Vat Noi Chuyen")
 
# lớp con Cho kế thừa lớp DongVat
class Cho(DongVat):
    def sua(self):
        print("Gou gou!")
d = Cho()
d.sua()
d.noi()

 

Sử dụng IDE Online để chạy chương trình.


 

Kế thừa Inheritance trong Python


Chúng ta tiếp tục tạo một lớp con của lớp Cho ChoPhuQuoc và thêm thuộc tính là có lông xoáy như sau


class DongVat:
    def noi(self):
        print("Dong Vat Noi Chuyen")
 
# lớp con Cho kế thừa lớp DongVat
class Cho(DongVat):
    def sua(self):
        print("Gou gou!")
class ChoPhuQuoc(Cho):
    long = "Xoay"

    
d = Cho()
d.sua()
d.noi()
e = ChoPhuQuoc()
print(e.long)


Chạy chương trình

Đất Việt Lập Trình Kế thừa Inheritance trong Python

 

Chúng ta cũng có thể tạo một lớp kế thừa nhiều lớp. Một lớp có thể kế thừa nhiều lớp bằng cách đề cập đến tất cả chúng trong dấu ngoặc. Ví dụ chúng ta tạo một lớp thú cưng kế thừa lớp Chó và Mèo như sau.

 

class DongVat:
    def noi(self):
        print("Dong Vat Noi Chuyen")
 
# lớp con Cho kế thừa lớp DongVat
class Cho(DongVat):
    def sua(self):
        print("Gou gou!")
class ChoPhuQuoc(Cho):
    long = "Xoay"

class Meo(DongVat):
    def keu(self):
        print("Meo Meo!")    
class ThuCung(Cho, Meo):
    def an(self):
        print("Thu Cung An")

    
d = Cho()
d.sua()
d.noi()
e = ChoPhuQuoc()
print(e.long)
f = ThuCung()
f.an()
f.sua()
f.keu()
f.noi()

 

Chạy chương trình 

Đất Việt Lập Trình



Phần tiếp theo


Phần trước


Không có nhận xét nào:

Đăng nhận xét