Làm cách nào để bạn xác định kế thừa lớp trong python?

Như bạn có thể biết, việc tạo một lớp đầy đủ chức năng trong ngôn ngữ lập trình hướng đối tượng rất tốn thời gian vì các lớp thực thực hiện rất nhiều tác vụ phức tạp.

Trong Python, bạn có thể lấy các tính năng bạn muốn từ một lớp hiện có [cha mẹ] để tạo một lớp mới [con]. Tính năng Python này được gọi là tính kế thừa

Bằng cách kế thừa, bạn có thể

  • có được các tính năng của một lớp cha mẹ,
  • thay đổi các tính năng mà bạn không cần,
  • thêm các tính năng mới cho lớp con của bạn. [lớp dẫn xuất hoặc lớp con]

Vì bạn đang sử dụng một lớp học thử nghiệm đã được sử dụng trước, nên bạn không cần phải nỗ lực nhiều như vậy cho lớp học mới của mình. Lớp con kế thừa các thuộc tính và chức năng của lớp cha

Nếu chúng ta có một số lớp tương tự, chúng ta có thể định nghĩa các chức năng chung của chúng trong một lớp và định nghĩa các lớp con của lớp cha này và triển khai các chức năng cụ thể ở đó

Ba chuyên gia dữ liệu

Hình ảnh của tác giả

Chúng tôi có 3 chuyên gia dữ liệu. Tất cả họ đều biết toán học và thống kê, SQL và ngôn ngữ lập trình như Python, R, Java, v.v.

class Data_Scientist:
def __init__[self, name, SQL]:
self.name = name
self.SQL = SQL
def knows_maths_stats[self]:
return True
def knows_programming[self]:
return True

class Data_Analyst:
def __init__[self, name, SQL]:
self.name = name
self.SQL = SQL
def knows_maths_stats[self]:
return True
def knows_programming[self]:
return True

class Data_Engineer:
def __init__[self, name]:
self.name = name
self.SQL = SQL
def knows_maths_stats[self]:
return True
def knows_programming[self]:
return True

Thay vì viết đi viết lại cùng một lớp, chúng ta có thể định nghĩa một lớp cha “Data_Professional” và 3 lớp con của lớp Data_Professional. Data_Analyst, Data_Scientist và Data_Engineer

lớp phụ huynh

Lớp mà chúng ta kế thừa được gọi là Lớp cha, Lớp cha hoặc Lớp cơ sở

class Data_Professional:
def __init__[self, name, SQL]:
self.name = name
self.SQL = SQL
def knows_maths_stats[self]:
return True
def knows_programming[self]:
return True
Lớp học dành cho trẻ em

Lớp mới được tạo ra bằng cách kế thừa các chức năng của lớp cha được gọi là Lớp con, Lớp dẫn xuất hoặc Lớp con. Hàm __init__[] của lớp con ghi đè hàm __init__[] của lớp cha

Truy cập các biến lớp cha từ lớp con

Mary Smith là một nhà khoa học dữ liệu biết toán học và thống kê, SQL và Python

1. Định nghĩa lớp con

class Data_Scientist[Data_Professional]:
def __init__[self, name, SQL]:
super[].__init__[name, SQL]

2. Khởi tạo đối tượng dt_sci

dt_sci = Data_Scientist[“Mary Smith”, 9]

3. In các tính năng của dt_sci

print[dt_sci.name, 
dt_sci.SQL,
dt_sci.knows_maths_stats[],
dt_sci.knows_programming[]]
Mary Smith 9 True True

Một lớp trống có các thuộc tính của lớp cha của nó

class Data_Engineer[Data_Professional]:
pass
dt_en = Data_Engineer[“Hyun-mi Tokko”, 9]print[dt_en.name,
dt_en.SQL,
dt_en.knows_maths_stats[],
dt_en.knows_programming[]]
Hyun-mi Tokko 9 True True

Ghi đè các lớp

class Data_Analyst[Data_Professional]:
def __init__[self, name, SQL]:
super[].__init__[name, SQL]
def knows_programming[self]:
return False
dt_an = Data_Analyst[“Brinda Kumar”, 7]print[dt_an.name,
dt_an.SQL,
dt_an.knows_maths_stats[],
dt_an.knows_programming[]]
Brinda Kumar 7 True False
Kiểm tra các lớp con và trường hợp

issubclass[] Phương thức

Hàm dựng sẵn issubclass[class1, class2] hỏi xem một lớp có phải là lớp con của lớp khác không

print[issubclass[Data_Analyst, Data_Professional]]Trueprint[issubclass[Data_Professional, Data_Analyst]]False

Phương thức isinstance[]

Hàm dựng sẵn isinstance[object, class] hỏi xem một đối tượng có phải là một thể hiện của một lớp không

print[isinstance[dt_an, Data_Analyst]]Trueprint[isinstance[dt_en, Data_Analyst]]False
Các Loại Thừa Kế

Có mấy kiểu thừa kế. Đó là kế thừa đơn, đa kế thừa, kế thừa đa cấp, kế thừa phân cấp và kế thừa hỗn hợp. Bốn cái đầu tiên trong số chúng được minh họa dưới đây. Thừa kế lai là sự kết hợp của 4 kiểu thừa kế trên. Ví dụ trên là một ví dụ về thừa kế lai

Hình ảnh của tác giả Ưu điểm của thừa kế

Kế thừa cung cấp rất nhiều lợi thế. Bằng cách sử dụng các lớp cha và con,

  • chúng tôi có thể viết mã linh hoạt, có thể tái sử dụng nhiều hơn, dễ dàng mở rộng bởi các nhà phát triển mới,
  • chúng ta có thể viết mã có tổ chức, có cấu trúc, dễ đọc hơn giúp chúng ta gỡ lỗi và xác định lỗi dễ dàng,
  • chúng ta có thể giảm sự lặp lại và sao chép mã, chúng ta có thể đặt tất cả các thuộc tính và chức năng phổ biến vào lớp cha và truy cập chúng bởi lớp con
Phần kết luận

Kế thừa là một trong những khái niệm quan trọng nhất trong Lập trình hướng đối tượng [OOP]. Nó cho phép chúng ta tạo các lớp mới dựa trên một hoặc nhiều lớp hiện có. Chúng ta sẽ thảo luận về đa hình, đóng gói và trừu tượng hóa trong các blog tiếp theo

Liên hệ với tôi

Nếu bạn muốn được cập nhật các bài viết mới nhất của tôi, hãy theo dõi tôi trên Medium. Bạn có thể kết nối với tôi trên LinkedIn và gửi email cho tôi theo địa chỉ seymatas@gmail. com

Làm cách nào để xác định một lớp trong Python?

Một lớp trong Python có thể được định nghĩa bằng cách sử dụng từ khóa lớp . Theo cú pháp trên, một lớp được định nghĩa bằng từ khóa lớp theo sau là tên lớp và. toán tử sau tên lớp, cho phép bạn tiếp tục ở dòng thụt lề tiếp theo để xác định các thành viên lớp.

Kế thừa trong Python với ví dụ là gì?

Mối quan hệ kế thừa xác định các lớp kế thừa từ các lớp khác dưới dạng lớp dẫn xuất, lớp con hoặc lớp con . Lớp cơ sở vẫn là nguồn mà lớp con kế thừa. Ví dụ: bạn có lớp Cơ sở là “Động vật” và “Sư tử” là lớp Dẫn xuất. Quyền thừa kế sẽ là Sư tử là một con vật.

Chủ Đề