继承
单继承
可以有效的帮我们提高代码的重用性
多继承
规范复杂的功能与功能之间的关系
能够帮助你去看源码
python2x与python3x中, 继承 的 区别.
父类是object的类 —— 新式类
在python3当中,
所有的类都继承object类,所有的类都是新式类
所有的类的类"祖宗"都是object.可以默认不写,但为了表达清楚,最好还是写上.
遵循的是广度优先算法,C3算法.有super(),super遵循mro顺序的, 有mro()方法
在python2当中,
要主动继承object才是新式类. 默认不继承object,是经典类.
多个类之间去寻找方法的时候遵循深度优先
多态
在python中处处体现着多态,一个变量,无须指定接受数据的类型,可以接受各种类型的数据.变量接受不同的数据类型,可以调用相同的方法,然后得到不同的结果,比如不管你是列表还是字符串还是数字都可以使用+和*。
封装
封装就是把类中的属性和方法定义为私有的,方法就是在属性名或方法名前加双下划线,而一旦这样定义了属性或方法名后,python会自动将其转换为_类名__属性名(方法名)的格式,在类的内部调用还是用双下划线加属性名或方法名,在类的外部调用就要用_类名__属性名(方法名)。父类的私有属性和方法,子类无法对其进行修改。