面向对象的三大特性:继承,多态,封装
继承:
继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,父类又称为基类或超类,新建的类称为派生类和子类.
继承的优点:
1)提高代码的复用性
2)提高代码的维护性
3)让类与类发生关系
组合:让对象与对象之间发生关系
执行父类或子类的三种方式:
1.只执行父类的方法:子类中不要定义与父类相同的变量
2.只执行子类的方法:在子类中创建这个方法
3.既执行子类的方法又执行父类的方法:又两种方式
1)父类名.子类名(参数)
2)super().父类方法名(参数(自传self参数))
object: python中如果没有指定基类,python的类会默认继承object类,object是所有python类的基类,它提供一些常见方法(如__str__)的实现
python中类的继承分为:单继承和多继承
继承类分为:新式类和经典类
在单继承中:新式类和经典类的查找方式一样
在多继承中:
新式类:按照广度优先方式查找,在python3中都是新式类,凡是继承object类都是新式类,所以python3默认继承object类
经典类:按照深度优先方式查找,没有继承object类的都是经典类,python2版本是经典类,经典类可以转化新式类,在类名后面加个(object)就转换成了新式类
注意:广度优先和深度优先只是继承两个类的情况
广度优先:一条路走到倒数第二级,判断,如果其他路能走到终点,则返回走第二条路,如果不能,则直接走到底
深度优先:一条路走到底,找不到在走其他路