当前位置: 首页 > >

Python 子类参数比父类多,初始化时,重写__init__()时需要先调用父类的__init__

发布时间:

定义一个子类后,子类会自动拥有父类的一切属性和方法


我们通常会在在子类里面添加一些属性和方法,或者修改(重写)一些属性和方法。


如果子类不重写?__init__,实例化子类时,会自动调用父类定义的?__init__。


?


?


子类需要重写__init__的一种常见场景就是,子类需要传入更多的参数。()


这时候重写__init__的方式有三种。


(1)把父类的__init__代码拷贝一份到父类,+ 对新增参数进初始化(笨方法、不灵活)


(2)显式调用父类的__init__, +?对新增参数进初始化


class Son(Father):

def __init__(self,arr1,arr2,arr3):
# 先调用父类的初始化方法
Father.__init__(self,arr1,arr2)
self.arr3= arr3# 增加的参数

(3)super() +?对新增参数进初始化


super(子类,self).__init__(参数1,参数2,....)

?


参考:


https://www.runoob.com/w3cnote/python-extends-init.html?Python 子类继承父类构造函数说明


http://www.python3.vip/tut/py/basic/18/#%E7%BB%A7%E6%89%BF%E5%85%B3%E7%B3%BB??自定义类-继承关系



友情链接: