今天我们接着来聊聊继承!
那什么是继承呢?
新写的类是不必重新编写,只要从现有的类继承,就自动拥有了该类的所有功能,新类只需要编写现有类缺少的功能,可以复用已有的代码!
python的继承的特点:
继承的相关代码:
子类中,一定要用 super(Student,self).__init__(name,gender) 去初始化父类,否则,继承自Person的Student将没有name和gender。
函数super(Student,self)将返回当前类继承的父类,即Person,然后调用__init__()方法。
因为self参数已在super()中传入,在__init__()中将隐式传递,不需要写出,也不能写的。如下图所示:
可以看到,输出正确。
而上面这段程序出错,是因为初始化父类是出错。
在一条继承链上,一个实例可以看成它本身的类型,也可以看成它父类的类型。
在继承链上,一个父类的实例不能是子类类型,因为子类比父类多一些属性和方法。