标签:object 父类 方式 深度优先 效果 strong 广度 没有 派生
1 什么是继承
继承是一种新建类的方式,新建的类称之为子类/派生类,被继承的类称之为父类/基类/超类
继承的特性:子类可以遗传/重用父类的属性
python中继承的特点:
1 python中一个子类可以同时继承多个父类
2 在继承的背景下去说,python中的类分为两种:
新式类,经典类:
新式类:但凡继承了object的类Foo,以及该类的子类都是新式类
在python3中都是新式类,默认继承object
经典类:没有继承object的类,以及该类的子类
在子类派生出的新方法中重用父类的功能的方式一:
指明道姓的引用一个类中的函数:
class a: def __init__(self,name,age,sex): self.name = name self.age = age self.sex = sex class b(a): def __init__(self,name,age,sex,b) a.__init__(self,name,sex) self.b= b
总结:
1 与继承无关
2 访问没有自动传值的效果
在多继承背景下属性的查找的优先级:
如果一个子类继承多个分支:就一个分支一个分支的查找,一个分支完全找完再找另一个分支
在菱形继承中:
新式类:广度优先查找先(一个分支一个分支的查找,所有的分支都查找完了之后再找顶级的)
经典类:深度优先查找(一个分支一个分支的找,第一个分支直接到顶级)
在子类中重用父类的方式二:
super()
class a: def __init__(self,name,age,sex): self.name= name self.age = age self.sex = sex class b(a): def __init__(self,name,age,sex,b): supper().__init__(name,age,sex) self.b = b
标签:object 父类 方式 深度优先 效果 strong 广度 没有 派生
原文地址:https://www.cnblogs.com/jianhaozhou/p/9505470.html