16 python-类继承
1. 类继承
python允许在一个或多个类的基础上生成新的类,新的类可以使用父类的一些属性和方法,这个过程就叫做继承
2. 类继承的基本语法
重点:
1. 父类(被继承的类)应该放在类生命的小括号中,如果有多个父类,中间需要使用逗号隔开。
2. 父类的声明应该子类之前
3. 多继承中,小括号中基类的之间是有顺序的,若是基类中有相同的方法名,而在子类使用时未指定,python从左至右搜索 即方法在子类中未找到时,从左到右查找基类中是否包含方法。
4. 如果父类中存在私有属性或方法,则子类不能访问,并且子类中同名的属性和方法不会覆盖父类;非私有属性,子类会覆盖父类的属性和方法。
5.多继承情况下,前面的类不可以是后面类的父类(反过来可以)
单继承示例:
运行结果:
多继承示例:
运行结果:
将继承顺序改为 class2, class1输出结果则发生改变
3. 重写
当子类中的某个属性或者方法与父类相同的时候,子类调用的是本身的属性或者方法,而不是父类,这就是重写
运行结果:
4. 调用父类函数的方法
4.1 调用父类的构造函数两种方法:
super(本类名称,self).__init__(父类的参数列表)
父类.__init__(self,父类参数)
运行结果都是
4.2 调用父类其他函数
调用方法和调用构造函数方法相同,只需要将__init__方法,替换为要调用的方法
运行结果: