Python 在合成中调用uu init_uu方法
我试图在python中使用composition,但如果我需要另一个类中的Python 在合成中调用uu init_uu方法,python,inheritance,composition,Python,Inheritance,Composition,我试图在python中使用composition,但如果我需要另一个类中的\uuuu init\uuu方法,我不确定如何使用它。换言之,我如何通过组合来super(childClass,self)。\uuuu init\uuuu(…) 例如: class Class*(object): …. class ClassA(Class*): def __init__(self, lst, ...): super(ClassA, self).__init__(.
\uuuu init\uuu
方法,我不确定如何使用它。换言之,我如何通过组合来super(childClass,self)。\uuuu init\uuuu(…)
例如:
class Class*(object):
….
class ClassA(Class*):
def __init__(self, lst, ...):
super(ClassA, self).__init__(...)
def meth1()
def meth2()
class ClassB(Class*):
def __init__(self, name, lst=None, other=None)
**here I want to use the __init__ method from ClassA**
self.a = ClassA(..)
def meth1():
return self.a.meth1()
我希望这是清楚的。谢谢 在一个组合中,您的
ClassB
只是有一个恰好是ClassA
的成员,因此,您不直接调用ClassA
的\uuuu init\uuuu
方法,如果需要,只需实例化它
class ClassB(Class*):
def __init__(self, name, lst=None, other=None):
self.my_A = ClassA(lst, ...)
在一个组合中,您的
ClassB
只是有一个恰好是ClassA
的成员,因此,您不直接调用ClassA
的\uuuu init\uuuu
方法,如果需要,您只需实例化它
class ClassB(Class*):
def __init__(self, name, lst=None, other=None):
self.my_A = ClassA(lst, ...)
但这毫无意义。B类与A类无关;没有创作或继承。嗨,丹尼尔,谢谢你的编辑。我添加了更多的代码,也许更清晰?请让我知道。这是我第一次使用composition。编辑之后,很明显您已经在
ClassA
上调用了\uuu init\uuu
。当你说self.a=ClassA(…)
时,它调用ClassA
的\uuuu init\uuuu
方法。但这没有意义。B类与A类无关;没有创作或继承。嗨,丹尼尔,谢谢你的编辑。我添加了更多的代码,也许更清晰?请让我知道。这是我第一次使用composition。编辑之后,很明显您已经在ClassA
上调用了\uuu init\uuu
。当你说self.a=ClassA(…)
时,这会调用ClassA
的\uuuu init\uuuu
方法。向韦斯特维尔喊叫。:)向韦斯特维尔大声喊叫。:)