Tôi muốn nói với các phương pháp kế thừa ngoài các phương thức quá tải hoặc mới được xác định. Điều đó có thể thực hiện được với Python không?Có cách nào để xác định một phương thức được kế thừa bằng Python không?
Ví dụ:
class A(object):
def spam(self):
print 'A spam'
def ham(self):
print 'A ham'
class B(A):
def spam(self):
print 'Overloaded spam'
def eggs(self):
print 'Newly defined eggs'
mong muốn chức năng:
>>> magicmethod(B.spam)
'overloaded'
>>> magicmethod(B.ham)
'inherited'
>>> magicmethod(B.eggs)
'newly defined'
Có một "phương pháp kỳ diệu" như trong ví dụ này, hoặc một số cách để nói với những loại phương pháp triển khai ngoài? đơn giản
Gọi tốt rằng đây là một yêu cầu lạ trong OOP – Pengman
Đây là trường hợp đặc biệt, trong đó đối tượng có thể phải được mở rộng mà không bị phân lớp. Tôi phải kiểm tra xem liệu tôi có thể chỉ đơn giản là ghi đè lên một trong các phương pháp hay không hoặc liệu tôi có phải bảo toàn phương thức ghi đè đã tồn tại hay không. Vì vậy, có, nó là một thanh tra đối tượng trong một cách, mặc dù không cho mục đích gỡ lỗi/phân tích. Tôi nhận ra rằng điều này có thể không phải lúc nào cũng là một ý tưởng hay, nhưng tôi nghĩ trong trường hợp này, điều đó là hợp lý. Cảm ơn bạn đã chỉ ra các lỗi thiết kế có thể xảy ra. –