Python继承父类的属性


写在前面

有时候新类需要继承父类的属性,但是又要定义一些自己的属性,可以通过以下方法来实现。

第一种方法

这种方法即不重写新类的init方法,完全继承父类,缺点是无法初始化新的属性,只能执行函数添加属性。

class Test1(object):
    def __init__(self):
        self.name = 'test1'
        self.number = 1

class Test2(Test1):
    pass

第二种方法

同样完全继承了父类的属性,而且可以重写某个字段,或者拓展新的属性。

class Test1(object):
    def __init__(self):
        self.name = 'test1'
        self.number = 1

class Test2(Test1):
    def __init__(self):
        super().__init__() #也可以写成super(Test2,self).__init__()
        self.name = 'test2'