当你发现自己的才华撑不起野心时,就请安静下来学习吧。

Personal site

↑点击传送

类的继承性


继承
定义继承类的时候,什么是什么的类,就是有一定语言意义上的继承
创建新类的方式:子类,派生类;父类,基类,超类;
python支持多继承
class Sub(Parents):
pass

class Sub(Parents,Parents1):
pass

python2:
新式类:继承object类的子类等子类
经典类:没有继承object类的子类等子类
bases:看他的继承object情况
python3:都是新式类

子类没有的东西去父类找
def init(self,a,b):
父类.init(self,a)
self.b = b

菱形继承:
属性查找优先级:D.mro(),看类的顺序,mro列表
object类一定是最后找

非菱形继承:

python3:深度优先

python2 的新式类中有mro()

两个类,都是深度优先

菱形继承:

python3:

新式类:‘广度优先’

python2:

经典类:深度优先(不会重复找最终的类,这个类不是object类),第一次就找最终的类
新式类:‘广度优先’,最后找最终的类

注意:json和pickle不能追加序列化内容!!!

mixings机制

 mixins机制核心:就是在多继承背景下尽可能地提升多继承的可读性
posted @ 2020-04-09 21:51  Joab-0429  阅读(581)  评论(0编辑  收藏  举报