我想创建一个从两个类(a
和b
)及其子类继承的类。组合的子类将不具有唯一的属性或方法,而是从其子类继承所有内容
我的问题是,我需要为每个可能的子类创建一个空类。如果类a
有m
子类,类b
有n
子类,我需要创建m*n
空子类。实际上,m和n小于4,但创建大量空类似乎不是很符合Python
有更好的方法吗
我已经创建了一个虚拟示例,希望能把问题弄清楚
class BakedItem:
pass
class Fruit:
pass
class Pie(BakedItem):
def bake(self):
pass
def add_pastry(self):
pass
class Tart(BakedItem):
def bake(self):
pass
class Cake(BakedItem):
def bake(self):
pass
class Apple(Fruit):
def flavour(self):
return "apple"
class Blueberry(Fruit):
def flavour(self):
return "Blueberry"
class Blueberry(Fruit):
def flavour(self):
return "Blueberry"
class ApplePie(Apple,Pie):
pass
class AppleCake(Apple,Cake):
pass
class BlueberryTart(Blueberry,Tart):
pass
# Etc (lots of empty multiple inheritance classes)
我不特别喜欢的一个可能的解决方案是将单个类作为类中的属性
听起来你想要一个类工厂:
相关问题 更多 >
编程相关推荐