多继承上指一个子类继承自两个或以上的基类
多继承的语法:
class 类名(超类名1,超类名2,......):
......
示例:
class Car: #汽车类
def run(self,speed):
print('汽车以:',speed,'km/h的速度行驶!')
class Plane: #飞机类
def fly(self,height):
print('在海拔',height,'米高度飞行!')
class PlaneCar(Car,Plane): #该对象继承了Car 和Plane 两个类的方法
'''PlaneCar类 同时继承自汽车和飞机'''
pl=PlaneCar()
pl.fly(1000)
pl.run(200)
多继承的缺陷:
造成标识符冲突的问题,需要谨慎使用多继承。
class A:
def __init__(self):
self.name='A'
class B:
def __init__(self):
self.name='B'
class C(A,B):
def infos(self):
print(self.name) #名字冲突,
class D(B,A):
def infos(self):
print(self.name) #名字冲突,
c1=C()
c1.infos() #A
d1=D()
d1.infos()#B
#以上是多继承名字造成了冲突。