2019.08.27学习整理
什么是继承
- 是一种新建类的方式,继承了一个类,类中的属性和方法就在子类中
- 父类/基类
- 子类/派生类
- 新式类:只要继承了object类,就是新式类,在python3中,默认继承object类
-Python3中:默认继承object
class A:
pass
-python2中,需要显示的指定继承object
--经典类:没有继承object的类,就是经典类
-python3中没有经典类
-python2中才有
利用继承减少代码冗余
#继承重用父类方法方式一:指名道姓的使用
跟继承没有关系
#继承重用父类方法方式二:通过super关键字
跟继承有关系
super() 会按照mro列表拿到父类对象
对象来调用绑定方法不需要传递第一个参数(self)
总结:
有继承关系的时候,通常用super,
指名道姓的方式时
- 没有继承关系
- 如果继承了多个父类,super是按照mro列表找,现在想指名道姓的用某个父类的某个方法,就需要指名道姓的使用
绑定方法
- 类来调用对象的绑定方法(写在类中的函数,没加装饰器),有几个参数就需要几个参数
类实例化产生对象,会自动调用__init__完成初始化操作
对象的绑定方法的特殊之处,会把对象本身当做第一个参数传入
继承的菱形问题
新式类和经典类的查找顺序是不一样的
新式类的查找属性:
广度优先
经典类的查找属性:
深度优先