我想知道一个子类是否可以调用它的父静态方法,并测试它:它的工作方式与我希望的一样!
class A(object):
@classmethod
def static(cls):
print('act on '+cls.__name__)
class B(A):
def foo(self):
print('foo()')
>>> B.static()
act on B
我想知道在使用这种技术时是否有陷阱需要注意......
有什么建议吗?
答案 0 :(得分:1)
您所呼叫的是父母的classmethod
,而不是staticmethod
。
无论如何,它们都可以通过子类来调用。
如果您在A
覆盖classmethod
的{{1}},您仍然可以使用B
引用A.static
。