如果要编写的类是另一个现成类的特殊版本,可使用继承。
一个类继承自另一个类时,他将自动获得另一个类的所有属性和方法;
原有的类成为父类,而新类为子类。
super()是一个特殊函数,帮助python将父类和子类关联起来
让python调用ElectricCar的父类的方法init()
让ElectricCar实例包含父类的所有属性
父类也称为超类
首先找到test的父类(比如是类A),然后把类test的对象self转换为类A的对象,然后“被转换”的类A对象调用自己的init函数
https://www.runoob.com/w3cnote/python-extends-init.html
super(Student,self).__init__()
子类不重写 init,实例化子类时,会自动调用父类定义的 init
如果重写了init 时,要继承父类的构造方法,可以使用 super 关键字:
super(子类,self).init(参数1,参数2,….)
继承父类的构造方法,又要重写子类的 init()
class Father(object):def __init__(self, name):self.name=nameprint ( "name: %s" %( self.name))def getName(self):return 'Father ' + self.nameclass Son(Father):def __init__(self, name):super(Son, self).__init__(name)print ("hi")self.name = namedef getName(self):return 'Son '+self.nameif __name__=='__main__':son=Son('runoob')print ( son.getName() )
