Thừa kế là gì và có bao nhiêu loại thừa kế được hỗ trợ bởi python?
Trong hướng dẫn trước, chúng ta đã học về Kế thừa và cách một lớp con có thể kế thừa lớp cha để sử dụng các thuộc tính và chức năng của nó Show
Nếu một lớp muốn kế thừa nhiều hơn một lớp thì sao? Trong Python, có hai loại Kế thừa
Python - Đa kế thừaĐa kế thừa có nghĩa là bạn đang kế thừa thuộc tính của nhiều lớp thành một. Trong trường hợp bạn có hai lớp, chẳng hạn như 5 và 6, và bạn muốn tạo một lớp mới kế thừa các thuộc tính của cả hai lớp 5 và 6, thì
Vì vậy, giống như một đứa trẻ thừa hưởng các đặc điểm từ cả cha và mẹ, trong python, chúng ta có thể kế thừa nhiều lớp trong một lớp con duy nhất Thí dụ Hãy tạo một lớp cha có tên là 17 và một lớp con có tên là 18 để thực hiện kế thừa đơn 1đầu ra 4Đ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 Thí dụ 5đầu ra 6Trong ví dụ trên, chúng tôi đã tạo hai lớp cha lần lượt là 19 và 40. Sau đó, chúng tôi tạo một đứa trẻ được gọi là 41 kế thừa từ các lớp Người và Công tykế 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 Thí dụ 0đầu ra 1Trong ví dụ trên, chúng ta có thể thấy có ba lớp có tên là 42, 43, 44. 42 là lớp cha, 43 là lớp con của Xe, 44 là lớp con của 43. Vì vậy, chúng ta có thể thấy chuỗi các lớpKế 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 Thí 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 Thí 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 42 và hai lớp con có tên là 43 và 51, đây là sự kế thừa có thứ bậcMột cái khác là 44 kế thừa từ hai lớp cha có tên là 43 và 42. Đây là đa thừa kếHàm class A(A1, A2, A3, ...): # class A inheriting the properties of A1, A2, A3, etc. # You can add properties to A class too55 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 55. 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 55
Thí dụ 10đầu ra 11Trong ví dụ trên, chúng ta tạo một lớp cha 40 và lớp con 41. Trong lớp 41, chúng ta gọi phương thức của lớp cha bằng cách sử dụng hàm 55issubclass()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 65. Hàm này trả về 66 nếu lớp đã cho là lớp con của lớp đã chỉ định. Nếu không, nó sẽ trả về 67cú pháp 12Ở đâu,
Thí dụ 13Ngoà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 Thí dụ 14đầu ra 15Trong ví dụ trên, chúng ta tạo 2 lớp có tên là 42 (Lớp cha) và 43 (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ụ 16Trong 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
Có bao nhiêu loại kế thừa được hỗ trợ trong python?Tùy thuộc vào số lượng lớp con và lớp cha tham gia, có bốn kiểu kế thừa trong python.
Kế thừa là gì và các loại của nó?Kế thừa là cơ chế lấy các tính năng và hành vi của một lớp bởi một lớp khác . Lớp có các thành viên được kế thừa gọi là lớp cơ sở, lớp kế thừa các thành viên đó gọi là lớp dẫn xuất. Kế thừa thực hiện mối quan hệ IS-A.
Python có hỗ trợ tất cả các loại kế thừa không?Kế thừa là một tính năng bắt buộc của mọi ngôn ngữ lập trình hướng đối tượng. Điều này có nghĩa là Python hỗ trợ tính kế thừa và như bạn sẽ thấy ở phần sau, đây là một trong số ít ngôn ngữ hỗ trợ tính đa kế thừa.
thừa kế là gì giải thích bất kỳ 3 loại thừa kế?Có nhiều loại kế thừa khác nhau, tức là. , Đơn kế thừa, Đa kế thừa, Đa kế thừa, kế thừa hỗn hợp và kế thừa phân cấp . Thừa kế đơn. Khi một lớp dẫn xuất chỉ kế thừa từ một lớp cơ sở, nó được gọi là kế thừa đơn. |