如何覆盖超类__init__参数?

时间:2017-12-04 07:19:39

标签: python superclass

如何覆盖超类属性? 在下面的示例中,我想为name使用其他一些值。

class A:
    def __init__(self,name):
        self.name=name

class B(A):
    def __init__(self, config, address, phone):
        super(B, self).__init__(name)
        self.address=address
        self.phone=phone
        self.config=config
        self.name=self.config.name + "__value_only"

1 个答案:

答案 0 :(得分:1)

只需将所需的“其他”值传递给super(...).__init__()即可。此外,示例中的name不是类,而是实例属性:

class B(A):
    def __init__(self, config, address, phone):
        super(B, self).__init__(config.name + "__value_only")
        self.address=address
        self.phone=phone
        self.config=config