如果要编写的类是另一个现成类的特殊版本,可使用继承。
    一个类继承自另一个类时,他将自动获得另一个类的所有属性和方法;
    原有的类成为父类,而新类为子类。
    image.png
    super()是一个特殊函数,帮助python将父类和子类关联起来
    让python调用ElectricCar的父类的方法init()
    让ElectricCar实例包含父类的所有属性

    父类也称为超类

    首先找到test的父类(比如是类A),然后把类test的对象self转换为类A的对象,然后“被转换”的类A对象调用自己的init函数

    https://www.runoob.com/w3cnote/python-extends-init.html

    1. super(Student,self).__init__()

    子类不重写 init,实例化子类时,会自动调用父类定义的 init

    如果重写了init 时,要继承父类的构造方法,可以使用 super 关键字:

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

    继承父类的构造方法,又要重写子类的 init()

    1. class Father(object):
    2. def __init__(self, name):
    3. self.name=name
    4. print ( "name: %s" %( self.name))
    5. def getName(self):
    6. return 'Father ' + self.name
    7. class Son(Father):
    8. def __init__(self, name):
    9. super(Son, self).__init__(name)
    10. print ("hi")
    11. self.name = name
    12. def getName(self):
    13. return 'Son '+self.name
    14. if __name__=='__main__':
    15. son=Son('runoob')
    16. print ( son.getName() )