面向对象--继承
什么是继承
子类通过对父类(基类、超类)的抽象,进而使用父类的属性或方法的过程,叫做继承。
继承与派生的关系
子类继承了父类,父类派生出了子类(实际上两者没有任何区别,只是不同的说法),另一方面继承指的是从模糊到具体的过程,而派指的是具体到模糊的过程。
继承的分类
单继承、多继承
在Python 2 中类的分类
新式类:
class A (object): pass
经典类:
class A: pass
在Python 3中类的分类
在Python3中只有新式类,没有经典类,格式为:
class A: pass
新式类遵循的查找算法
广度优先算法,对于新式类可使用“类名._mro_()”方法查看类的继承关系
经典类遵循的查找算法
深度优先算法,目前不常用,因为目前大部分项目以Python3开发,Python3只有新式类,新式类只遵循广度优先算法
继承与多态的关系
由于类具体继承的特性,形成了同一事物的不同形态,最后的结果就是多态。
super()方法在单继承和多继承的使用
单继承中:super()方法直接查找父类
多继承中:super()方法根据广度优先算法查找父类
调用类方法的顺序:
1.先在子类中查找方法,再在父类中查找
2.若子类、父类中都有该方法,且想在子类中调用父类方法,则在子类的方法中使用super()方法或者"指名道姓"调用父类方法。
感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下"推荐"按钮,本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接,谢谢。