在合成中调用__init__方法

时间:2016-05-26 15:45:31

标签: python inheritance composition

我正在尝试在python中使用组合,但如果我需要来自其他类的__init__方法,我不知道该怎么做。换句话说,我如何使用合成这个super(childClass, self).__init__(…)

例如:

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()

我希望这很清楚。谢谢!

1 个答案:

答案 0 :(得分:4)

在合成中,您的ClassB只有一个恰好是ClassA的成员,因此,您调用ClassA的{直接{1}}方法,只要你需要实例化它。

__init__