Sự khác biệt giữa thừa kế đa cấp và đa cấp trong python là gì
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ư 73 và 74, 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 73 và 74, 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
Các loại kế thừa trong PythonCác loại Kế thừa phụ thuộc vào số lượng lớp con và lớp cha tham gia. Có bốn loại kế thừa trong Python Thừa kế đơn.Kế thừa đơn lẻ cho phép một lớp dẫn xuất kế thừa các thuộc tính từ một lớp cha duy nhất, do đó cho phép khả năng sử dụng lại mã và bổ sung các tính năng mới vào mã hiện có
Thí dụ Python3 82 83
84 85 86 00 01 02____103 04 05 06____107 08 09
00
85 02 00 01 05 03 04 05 06______107 01 09
03 04 05 06 04 08 04 90đầu ra 0Đa thừa kế.Khi một lớp có thể được dẫn xuất từ nhiều hơn một lớp cơ sở, kiểu kế thừa này được gọi là đa kế thừa. Trong đa kế thừa, tất cả các tính năng của các lớp cơ sở được kế thừa vào lớp dẫn xuất.
Thí dụ Python3 82 92
93 85 95 00 97______305 99
00 01 822 03 04 05 06____107 03 829
830
85 832 00 834 05 99
00 01 839 03 04 05 06____107 03 846
00
85 849 00 01 852____103 04 05 06 07 858 859 03 846 05 06 07 865 859 03 829
03 000 05 002 003 05 005 006 05 008 009đầu ra 0Kế thừa đa cấpTrong kế thừa đa cấp, các tính năng của lớp cơ sở và lớp dẫn xuất được tiếp tục kế thừa vào lớp dẫn xuất mới. Điều này tương tự như mối quan hệ đại diện cho một đứa trẻ và một người ông.
Thí dụ Python3 82 011
84
85 014
00 01 017____103 019 05 03____1022 05 024
025
85 027 00 01 017____103 032 05 03____1035 05 834
05 039 05 041 03 043
00
85 046 00 01 017____103 051________ 105 ________ 103 ________ 1054 ________ 305 ________ 1056
05 058 05 060______103 062
00 01 065 03 04 05 06 07 071 859 03 074 05 06 07 078 859 03 846 05 06 07 085 859 03 088
089 000 05 092_______1093 859 095 859 097 09________ 106 ________ 2000 001đầu ra 0Kế thừa phân cấp.Khi có nhiều hơn một lớp dẫn xuất được tạo từ một cơ sở duy nhất, kiểu kế thừa này được gọi là kế thừa phân cấp. Trong chương trình này, chúng ta có một lớp cha (cơ sở) và hai lớp con (dẫn xuất) Đa kế thừa và kế thừa đa cấp là gì?Trong Đa thừa kế, mỗi đứa trẻ có thể được bắt nguồn từ hai cha mẹ trở lên. Thừa kế đa cấp có thể có nhiều cấp kế thừa . Lớp cơ sở là cha của tất cả các lớp. Đa kế thừa có hai cấp lớp, i. e. , lớp cơ sở (lớp cha) và lớp dẫn xuất (lớp con).
Sự khác biệt giữa kế thừa đơn và đa cấp là gì?Trong trường hợp kế thừa đơn lẻ, lớp dẫn xuất thực hiện kế thừa của một lớp cơ sở duy nhất. Trong trường hợp đa kế thừa, lớp dẫn xuất có thể nhận nhiều lớp cơ sở . Các lớp dẫn xuất có thể sử dụng các tính năng thuộc về một lớp cơ sở duy nhất.
Tại sao kế thừa đa cấp không được hỗ trợ trong Python?Đa kế thừa hữu ích trong nhiều tình huống với tư cách là nhà phát triển, nhưng nó làm tăng đáng kể độ phức tạp của ngôn ngữ, khiến cuộc sống của cả nhà phát triển trình biên dịch và lập trình viên trở nên khó khăn hơn.
Có thể sử dụng đồng thời nhiều cấp độ và nhiều kế thừa không?Như đã thấy từ đầu ra, trình biên dịch Java báo lỗi khi phát hiện ra rằng lớp mở rộng hai lớp. Mặc dù Java không cho phép hai lớp được kế thừa đồng thời, nhưng nó cung cấp cho chúng ta một cách khắc phục hạn chế này. Chúng ta có thể mô phỏng nhiều kế thừa bằng cách sử dụng các giao diện thay vì các lớp |