如果子类中没有定义init方法,在实例化一个对象时,会调用父类的构造方法吗?
2个回答
展开全部
题主你好,
答案是: 会的
分析: 当实例化一个类的时候, 有一个机制就是自动执行该类下面定义的__init__方法, 来完成初始化操作; 而类继承的实质, 说白了就是子类可以使用父类的东西, 并且子类在调用某个方法或属性时,寻找机制是: 先在子类本身找, 如果没有发现则会去父类找. 根据上面说的这个原则, 下面再回到题主的问题上来:
"如果子类中没有定义init方法,在实例化一个对象时,会调用父类的构造方法吗?"
当 子类中没有定义__init__方法,而子类在实例化时又有一个自动调用__init__方法的基拿枝机制, 因此在子类没有定义__init__方法的情况下, 会去父类中找, 如果父类定义敏销了__init__方法,则会执行该方搏敏法.
举例来说:
-------例1: 当子类定义了__init__方法时------
-------例2: 当子类未定义但父类定义了__init__方法时------
希望可以帮到题主, 欢迎追问
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询