我想知道子类是否可以调用其父类静态方法,并测试了它:它像我希望的那样工作!
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
我想知道使用该技术时是否有需要注意的陷阱......
有什么建议吗?
最佳答案
您调用的是父级的classmethod
,而不是staticmethod
。
无论如何,它们都可以通过子类调用,并且很常见。
如果您在 B
中覆盖 A
的 classmethod
,您仍然可以引用 A.static
使用 super(B, cls).static
。
关于python - 在Python中从子类调用父类(super class)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16704324/