Python tăng notimplementederror
getter và setter được lưu trữ dưới dạng các thuộc tính của đối tượng 7 (tương ứng là 8 và 0), vì vậy ngay khi bạn quá tải thuộc tính trong một lớp con, bạn sẽ cung cấp rõ ràng nhất cả getter và setter, tức là
Vì vậy, nếu bạn muốn làm cho getter và/hoặc setter có thể quá tải mà không phải khai báo lại thuộc tính, bạn phải xác định một phương thức 1 và ủy quyền getter của thuộc tính cho phương thức này, giống như bạn đã làm với setter
đã trả lời 13 tháng 3 năm 2017 lúc 12. 22 Tương tự với việc sử dụng 2 bên trong định nghĩa của 3, câu trả lời này cho một câu hỏi liên quan gợi ý sử dụng thuộc tính của lớp cơ sở để xác định thuộc tính trên lớp con như vậy
Ở đây, 2 sẽ giống như đối với 3, nhưng chúng tôi đã thay thế getterđã trả lời 2 tháng 3 năm 2021 lúc 22. 02 asen 982 huy hiệu bạc7 huy hiệu đồng Nó hoạt động với tôi theo cách này
đã trả lời Ngày 1 tháng 8 năm 2021 lúc 17. 41 gọn gàng gọn gàng 1531 huy hiệu bạc7 huy hiệu đồng Kế thừa Python @property đúng cáchĐưa ra một lớp 6 với thuộc tính 7, 8 có thể kế thừa và quá tải thuộc tính trong khi truy cập trình lấy và đặt thuộc tính 6Mặc dù chúng ta chỉ có thể triển khai lại hoàn toàn logic thuộc tính 0 mà không cần sử dụng bất kỳ điều gì khác của 1, nhưng điều này sẽ vi phạm nguyên tắc DRY và quan trọng hơn, nó sẽ không cho phép đa kế thừa phù hợp (như minh họa trong ví dụ 2 bên dưới)Hai lựa chọn
Trong cả hai mẫu, sử dụng 8 cũng đơn giản nhưTuy nhiên, truy cập 9 dài dòng hơn 4Sẽ thật tuyệt nếu chỉ 0 nhưng điều này sẽ không hoạt động do triển khai hiện tại của 1 (như Python 3. 7). Có một vấn đề Python liên quan đến hành vi khá không trực quan nàyCác thuộc tính có được kế thừa trong Python không?Kế thừa cho phép chúng ta định nghĩa một lớp kế thừa tất cả các phương thức và thuộc tính từ một lớp khác |