如果要编写的类是另一个现成类的特殊版本,可使用继承。
一个类继承自另一个类时,他将自动获得另一个类的所有属性和方法;
原有的类成为父类,而新类为子类。
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=name
print ( "name: %s" %( self.name))
def getName(self):
return 'Father ' + self.name
class Son(Father):
def __init__(self, name):
super(Son, self).__init__(name)
print ("hi")
self.name = name
def getName(self):
return 'Son '+self.name
if __name__=='__main__':
son=Son('runoob')
print ( son.getName() )