继承
1.什么是继承
在程序中继承是一种新建子类的方式,新建类的称之为子类派生类,被继承的类称之为父类基类超类。
继承描述的是一种遗传关系,子类可以重用父类的属性。
2.为何用继承?
减少类与类之间代码冗余的问题。
3.如何继承
先抽象在继承
在Python中继承的特点是单继承&多继承
class parent1: #父类,超类,基类 pass class parent2: pass class son1(parent1): #单继承 pass class son2(parent1,parent2): #多继承 pass
查看子类的父类使用__bases__属性
print(son1.__bases__) print(son2.__bases__) #(<class '__main__.parent1'>,) #(<class '__main__.parent1'>, <class '__main__.parent2'>)
最基本的属性和方法检索顺序(单继承情况)
对象——》类——》父类——》object(新式类)
#单继承 的属性检索顺序 class Too: x=1#对象的类中没有的话,从父类中找 class Bar(Too): x=2#若无对象本身,找对象的类 b1= Bar() b1.x =3#先对象本身 print(b1.x)
上述提及新式类是Python2和Python3在继承上的区别
新式类:但凡继承object类的子类,以及该子类的子子类……都称之为新式类。
经典类:没有继承object类的子类,以及该子类的子子类……都称之为经典类。
只有在Python2中才区分新式类与经典类。
#python2 #新式类 class Xin(object): pass