day23 面向对象之继承

1.继承:
继承指的是类与类之间的关系
继承是新建类的一种方式
2.为什么要用继承:
减少重复代码
3.如何用继承:
抽象,抽取对象的相同特征与技能得到类
同样,抽取类的相同属性与方法得到父类
先抽象得到父类,再让子类继承父类,减少重复代码
继承语法,在类名后加小括号,在Python中一个子类可以继承多个父类,多个父类在括号内以逗号分隔

经典类与新式类
继承了object及其子类的类成为新式类,py3中默认类都继承了object,py3中都是新式类
py2才区别新式类与经典类,经典类py2中没有继承object的类

经典类与新式类的区别:
在菱形继承的属性查找顺序上,①经典类,深度优先,一条道走到后,会先找到源头
②新式类,广度优先,最后查找源头

父类又称基类或超类,子类又称为派生类

4.在子类中调用父类中的方法,属性
①指名道姓,类名加方法,属性名,与继承无关
②super(),super()产生一个特殊的对象,可以调用父类的属性方法,不用传self
py2中super(自己的类名,self),该方法依赖于继承

5.派生
子类添加自己的属性和方法

6.对象的属性和方法的查找顺序
对象自己的名称空间》类的名称空间》父类的名称空间
重写父类方法,相同的部分直接引用,添加自己新的功能
调用时会使用对象的方法

原文地址:https://www.cnblogs.com/robert-zhou/p/10120157.html