子类执行父类的构造方法

Posted TianTianLi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了子类执行父类的构造方法相关的知识,希望对你有一定的参考价值。

  • 子类有时需要执行父类的构造方法
class annimal(object):

    def __init__(self):
        print(\'bar\')
        self.type = \'动物\'

class shengwu(object):
    def __init__(self):
        print(\'sengwu\')
        self.tc = \'生物\'

class cat(annimal,shengwu):

        def __init__(self):
            self.n = \'mao\'
            super(cat,self).__init__()
m = cat()
print(m.__dict__)

 cat类继承了annimal类与shengwu类,在cat类的构造方法中执行了父类的构造方法super(cat,self).__init__(),所以结果:

但是,执行父类构造方法是,只是执行了annimal的__init__()方法,没有执行shegnwu的构造方法。这与继承父类执行父类中的方法顺序是一样的。

以上是关于子类执行父类的构造方法的主要内容,如果未能解决你的问题,请参考以下文章

类加载器实例化时的顺序

请教一下C#中父类静态构造函数在子类中为啥不会和子类的静态构造函数一起执行

子类执行父类的构造方法

课后动手动脑

类的初始化和执行过程

Java类的执行顺序final的用法