1

我想知道一个子类是否可以调用它的父静态方法,并对其进行测试:它像我希望的那样工作!

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

我想知道在使用该技术时是否有需要注意的陷阱......

有什么建议吗?

4

1 回答 1

1

您所称的是父母的classmethod,而不是staticmethod

无论如何,它们都可以用子类调用并且很常见。

如果你在你的覆盖了A's classmethodB你仍然可以参考A.staticusing super(B, cls).static

于 2013-05-23T01:43:37.657 回答