Hướng dẫn python multiple inheritance kwargs - python kwargs đa kế thừa
Không, bởi vì sau đó điều này sẽ thất bại:
MRO của 0 phải gọi 1 nếu không 2 sẽ không được gọi.
Không, vì thặng dư 5 sẽ được chuyển đến 2 trong ví dụ trên. Nhưng ngay cả khi không có điều đó, việc nêu ra lỗi khi bạn gọi một hàm tạo có quá nhiều đối số; Rất mong muốn có một thông báo lỗi thông báo cho bạn về mã không chính xác của bạn, thay vì sai lầm không bị phát hiện.
Trong một số ý nghĩa, chắc chắn; Nhưng thực sự đó là một biện pháp bảo vệ cho 0 xảy ra trong bất kỳ hệ thống phân cấp lớp nào, miễn là các lớp khác trong hệ thống phân cấp tuân theo cùng một quy tắc gọi 3. Python hỗ trợ kế thừa từ nhiều lớp. Trong bài học này, bạn sẽ thấy:inheritance from multiple classes. In this lesson, you’ll see:
Một lớp học có thể thừa hưởng từ nhiều phụ huynh.Ví dụ: bạn có thể xây dựng một lớp đại diện cho hình dạng 3D bằng cách kế thừa từ hai hình 2D:
Thứ tự phân giải phương pháp (MRO) xác định nơi Python tìm kiếm một phương thức khi có hệ thống phân cấp các lớp.Sử dụng 5 truy cập lớp tiếp theo trong MRO:Method Resolution Order (MRO) determines where Python looks for a method when there is a hierarchy of classes. Using 5 accesses the next class in the MRO:
Nếu bạn kết hợp tính năng MRO và 7 để chỉ định các cặp giá trị tên trong quá trình xây dựng, bạn có thể viết mã chuyển các tham số cho các lớp cha ngay cả khi chúng có tên khác nhau: 7 feature for specifying name-value pairs during construction, you can write code that passes parameters to parent classes
even if they have different names:
Nhiều kế thừa có thể trở nên khó khăn nhanh chóng.Một trường hợp sử dụng đơn giản là phổ biến trong trường là viết một mixin.Một mixin là một lớp không quan tâm đến vị trí của nó trong hệ thống phân cấp, nhưng chỉ cung cấp một hoặc nhiều phương pháp tiện lợi:mixin. A mixin is a class that doesn’t care about its position in the hierarchy, but just provides one or more convenience methods:
Đây là những gì bạn nhận được: >>> |