我想告訴除了重載或新定義的方法之外的繼承方法。這可能與Python?有沒有辦法在Python中識別繼承的方法?
實施例:
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'
期望的功能:
>>> magicmethod(B.spam)
'overloaded'
>>> magicmethod(B.ham)
'inherited'
>>> magicmethod(B.eggs)
'newly defined'
是否有「魔術方法」像在本例中,或一些方式告訴那些類型的方法實現開的?
好的呼叫,這是一個奇怪的要求在OOP – Pengman
這是一個特殊的情況下,一個對象可能不得不被擴展的子類。我必須檢查我是否可以簡單地重寫其中一種方法,或者是否必須保留現有的重寫方法。所以是的,儘管不是用於調試/分析的目的,它仍然是一種對象檢查器。 我意識到這可能並不總是一個好主意,但我認爲在這種情況下是合理的。感謝您指出可能的設計缺陷。 –