如果有,我应该如何执行蟒蛇以下任务的任何建议,我很困惑: 假设我有以下类:一个Python益智游戏
class A(object):
self._classes = []
def magic(self):
c.foo() for c in self._classes
class B(object):
def foo():'''some cool stuff here'''
class C(B):
def foo():'''very cool stuff'''
class D(B):
def foo():'''very cool stuff'''
我想要做的是,当A级是实例化所有类型的B - (C和D)将在self._classes中进行检测,这意味着_classes是[C(),D()]。
对此的一般动机是我希望用户轻松地添加类,而无需知道使用它们的类。任何帮助将被处理。
为什么不直接实例C&d的实例在A的__init__方法?我猜测这个问题比这更复杂。 – 2014-10-03 17:05:05
@ TonySuffolk66我的猜测是,也可以有'E类(B)','F类(B)'和'SpamEggsAndHam(B)'' – 2014-10-03 17:06:32
以上是一个玩具的例子。假设B类被20个类所划分,或者超过了20个类,如果创建了B的一个子类的一个新实例,那么我就没有兴趣触及A类。 – rig 2014-10-03 17:09:35