面向对象-继承

2020-09-25 14:19发布

面向对象的三大特性:继承,多态,封装

继承:

  继承是一种创建新类的方式,在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)就转换成了新式类

  注意:广度优先和深度优先只是继承两个类的情况

  广度优先:一条路走到倒数第二级,判断,如果其他路能走到终点,则返回走第二条路,如果不能,则直接走到底

  深度优先:一条路走到底,找不到在走其他路

 

标签: