我想告诉除了重载或新定义的方法之外的继承方法。这可能与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
这是一个特殊的情况下,一个对象可能不得不被扩展的子类。我必须检查我是否可以简单地重写其中一种方法,或者是否必须保留现有的重写方法。所以是的,尽管不是用于调试/分析的目的,它仍然是一种对象检查器。 我意识到这可能并不总是一个好主意,但我认为在这种情况下是合理的。感谢您指出可能的设计缺陷。 –