Ví dụ về thừa kế lai trong python
Quá trình kế thừa các thuộc tính của lớp cha vào lớp con được gọi là kế thừa. Lớp hiện có được gọi là lớp cơ sở hoặc lớp cha và lớp mới được gọi là lớp con hoặc lớp con hoặc lớp dẫn xuất Show
Trong bài học Python này, bạn sẽ học về kế thừa, nạp chồng phương thức, ghi đè phương thức, các kiểu kế thừa và MRO (Thứ tự giải quyết phương thức) Trong lập trình hướng đối tượng, tính kế thừa là một khía cạnh quan trọng. Mục đích chính của kế thừa là khả năng sử dụng lại mã bởi vì chúng ta có thể sử dụng 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 tất cả các thành viên dữ liệu, thuộc tính và chức năng từ lớp cha. Ngoài ra, một lớp con cũng có thể cung cấp cách triển khai cụ thể của nó cho các phương thức của lớp cha Ví dụ: Trong thế giới thực, Xe hơi là một lớp con của lớp Phương tiện. Chúng ta có thể tạo Xe bằng cách kế thừa các thuộc tính của Xe như Bánh xe, Màu sắc, Bình xăng, động cơ và thêm các thuộc tính phụ vào Xe theo yêu cầu cú pháp
Cũng thấy
Mục lục
Các loại thừa kếTrong Python, dựa trên số lớp con và lớp cha tham gia, có 5 kiểu kế thừa. Loại thừa kế được liệt kê dưới đây
Bây giờ hãy xem từng chi tiết với một ví dụ Thừa kế đơnTrong kế thừa đơn, một lớp con kế thừa từ một lớp cha đơn. Đây là một lớp con và một lớp cha Kế thừa đơn PythonThí dụ Hãy tạo một lớp cha có tên là 7 và một lớp con có tên là 8 để thực hiện kế thừa đơn
đầu ra Inside Vehicle class Inside Car class Đa thừa kếTrong đa kế thừa, một lớp con có thể kế thừa từ nhiều lớp cha. Vì vậy, đây là một lớp con và nhiều lớp cha Python đa kế thừaThí dụ
đầu ra Inside Person class Name: Jessa Age: 28 Inside Company class Name: Google location: Atlanta Inside Employee class Salary: 12000 Skill: Machine Learning Trong ví dụ trên, chúng ta tạo hai lớp cha lần lượt là 9 và Inside Vehicle class Inside Car class0. Sau đó, chúng tôi tạo một đứa trẻ được gọi là Inside Vehicle class Inside Car class1 kế thừa từ các lớp Người và Công ty kế thừa đa cấpTrong kế thừa đa cấp, một lớp kế thừa từ một lớp con hoặc lớp dẫn xuất. Giả sử ba lớp A, B, C. A là lớp cha, B là lớp con của A, C là lớp con của B. Nói cách khác, chúng ta có thể nói một chuỗi các lớp được gọi là kế thừa đa cấp Kế thừa đa cấp PythonThí dụ 0đầu ra 1Trong ví dụ trên, chúng ta có thể thấy có ba lớp tên là Inside Vehicle class Inside Car class2, Inside Vehicle class Inside Car class3, Inside Vehicle class Inside Car class4. Inside Vehicle class Inside Car class2 là lớp cha, Inside Vehicle class Inside Car class3 là lớp con của Xe, Inside Vehicle class Inside Car class4 là lớp con của Inside Vehicle class Inside Car class3. Vì vậy, chúng ta có thể thấy chuỗi các lớp Kế thừa phân cấpTrong kế thừa phân cấp, nhiều hơn một lớp con được bắt nguồn từ một lớp cha. Nói cách khác, chúng ta có thể nói một lớp cha và nhiều lớp con Kế thừa phân cấp PythonThí dụ Hãy tạo 'Vehicle' làm lớp cha và hai lớp con 'Car' và 'Truck' làm lớp cha 9đầu ra 0Kế thừa laiKhi thừa kế bao gồm nhiều loại hoặc kết hợp các thừa kế khác nhau được gọi là thừa kế lai Kế thừa lai PythonThí dụ 1Ghi chú. Trong ví dụ trên, tồn tại tính chất phân cấp và đa kế thừa. Ở đây chúng ta đã tạo, lớp cha Inside Vehicle class Inside Car class2 và hai lớp con có tên là Inside Vehicle class Inside Car class3 và 1, đây là sự kế thừa phân cấpMột cái khác là Inside Vehicle class Inside Car class4 kế thừa từ hai lớp cha có tên là Inside Vehicle class Inside Car class3 và Inside Vehicle class Inside Car class2. Đây là đa thừa kế Hàm # Parent class 1 class Person: def person_info(self, name, age): print('Inside Person class') print('Name:', name, 'Age:', age) # Parent class 2 class Company: def company_info(self, company_name, location): print('Inside Company class') print('Name:', company_name, 'location:', location) # Child class class Employee(Person, Company): def Employee_info(self, salary, skill): print('Inside Employee class') print('Salary:', salary, 'Skill:', skill) # Create object of Employee emp = Employee() # access data emp.person_info('Jessa', 28) emp.company_info('Google', 'Atlanta') emp.Employee_info(12000, 'Machine Learning') 5 của PythonKhi một lớp kế thừa tất cả các thuộc tính và hành vi từ lớp cha được gọi là kế thừa. Trong trường hợp như vậy, lớp kế thừa là lớp con và lớp sau là lớp cha Ở lớp con, chúng ta có thể tham chiếu đến lớp cha bằng cách sử dụng hàm 5. Hàm siêu trả về một đối tượng tạm thời của lớp cha cho phép chúng ta gọi một phương thức của lớp cha bên trong một phương thức của lớp conLợi ích của việc sử dụng hàm 5
Thí dụ 0đầu ra 1Trong ví dụ trên, chúng ta tạo một lớp cha Inside Vehicle class Inside Car class0 và lớp con Inside Vehicle class Inside Car class1. Trong lớp Inside Vehicle class Inside Car class1, chúng ta gọi phương thức của lớp cha bằng cách sử dụng hàm 5issubclass()Trong Python, chúng ta có thể xác minh xem một lớp cụ thể có phải là lớp con của lớp khác hay không. Với mục đích này, chúng ta có thể sử dụng hàm tích hợp Python Inside Person class Name: Jessa Age: 28 Inside Company class Name: Google location: Atlanta Inside Employee class Salary: 12000 Skill: Machine Learning5. Hàm này trả về Inside Person class Name: Jessa Age: 28 Inside Company class Name: Google location: Atlanta Inside Employee class Salary: 12000 Skill: Machine Learning6 nếu lớp đã cho là lớp con của lớp đã chỉ định. Nếu không, nó sẽ trả về Inside Person class Name: Jessa Age: 28 Inside Company class Name: Google location: Atlanta Inside Employee class Salary: 12000 Skill: Machine Learning7 cú pháp 2Ở đâu,
Thí dụ 3Ngoài ra, hãy xem Python isinstance() Ghi đè phương thứcTrong kế thừa, tất cả các thành viên có sẵn trong lớp cha theo mặc định có sẵn trong lớp con. Nếu lớp con không thỏa mãn với việc triển khai của lớp cha, thì lớp con được phép định nghĩa lại phương thức đó bằng cách mở rộng các hàm bổ sung trong lớp con. Khái niệm này được gọi là ghi đè phương thức Khi một phương thức của lớp con có cùng tên, cùng tham số và cùng kiểu trả về với phương thức trong lớp cha của nó, thì phương thức trong lớp con được cho là sẽ ghi đè lên phương thức trong lớp cha Ghi đè phương thức PythonThí dụ 4đầu ra 5Trong ví dụ trên, chúng ta tạo hai lớp có tên là Inside Vehicle class Inside Car class2 (Lớp cha) và Inside Vehicle class Inside Car class3 (Lớp con). Lớp Car mở rộng từ lớp Vehicle nên tất cả các thuộc tính của lớp cha đều có sẵn trong lớp con. Ngoài ra, lớp con đã định nghĩa lại phương thức 04Thứ tự giải quyết phương thức trong PythonTrong Python, Thứ tự phân giải phương thức (MRO) là thứ tự mà Python tìm kiếm một phương thức hoặc thuộc tính. Đầu tiên, phương thức hoặc thuộc tính được tìm kiếm trong một lớp, sau đó nó tuân theo thứ tự mà chúng ta đã chỉ định khi kế thừa Thứ tự này còn được gọi là Tuyến tính hóa của một lớp và một bộ quy tắc được gọi là MRO (Thứ tự giải quyết phương pháp). MRO đóng một vai trò thiết yếu trong nhiều kế thừa vì một phương thức duy nhất có thể được tìm thấy trong nhiều lớp cha Trong đa kế thừa, thứ tự tìm kiếm sau đây được tuân theo
Thí dụ 6Trong ví dụ trên, chúng tôi tạo ba lớp có tên là 07, 08 và 09. Lớp 08 kế thừa từ 07, lớp 09 kế thừa từ 08 và 07. Khi chúng ta tạo một đối tượng của lớp 09 và gọi phương thức 16, Python sẽ tìm kiếm phương thức 16 trong lớp hiện tại trong chính lớp 09Sau đó tìm kiếm các lớp cha, cụ thể là 08 và 07, vì lớp 09 kế thừa từ 08 và 07. nghĩa là, 94 và luôn tìm kiếm theo cách từ trái sang phải
Ví dụ về di truyền lai là gì?Ví dụ về Kế thừa hỗn hợp trong C++
. Động vật có vú có thể được bắt nguồn từ lớp Động vật và Bò là sự kết hợp giữa Động vật ăn cỏ và Động vật có vú. Mối quan hệ này xác định rõ sự kết hợp của Đa kế thừa và Kế thừa đơn. Class A as Animal Class, Class B as Mammals, Class C as Herbivores, Class D as Cow. Mammals can be derived from Animal class, and Cow is a combination of Herbivores and Mammals. This relationship well defines the combination of Multiple Inheritance and Single Inheritance.
Ví dụ về thừa kế trong Python là gì?Ví dụ. Thêm hàm __init__() vào lớp Sinh viên . lớp Sinh viên(Người). def __init__(bản thân, fname, lname).
Kế thừa phân cấp trong Python với ví dụ là gì?Kế thừa phân cấp Nếu nhiều lớp dẫn xuất được tạo từ cùng một cơ sở , loại Kế thừa này được gọi là kế thừa phân cấp. Trong trường hợp này, chúng ta có hai lớp cơ sở là một lớp cha (cơ sở) cũng như hai lớp con (dẫn xuất).
Các loại thừa kế với ví dụ là gì?Khám phá 5 loại kế thừa trong C++ với các ví dụ . Thừa kế đơn Đa thừa kế Kế thừa đa cấp Kế thừa phân cấp Kế thừa lai |