【发布时间】:2020-08-06 02:38:25
【问题描述】:
如果我的父类有两种方法:
class Parent():
@abstractmethod
@staticmethod
def functionA():
pass
def functionB():
return __class__.functionA() + 1
我实现了一个子类:
class Child(Parent):
def functionA(): # this function is different for each kind of child
return 3
最后,子类的目的是只调用functionB()。
它有效吗?当然,我可以把functionB()放到子类中让它工作,但是因为functionB()对于每种子类都是一样的,我不想为每个类写重复的代码?
另外,我在这里使用__class__ 合适吗?
【问题讨论】:
-
为什么不将
functionB定义为@classmethod,并返回不同的父类实例?
标签: python class inheritance abstract