多继承:在一个继承关系中一个以上的直接基类,那么这种继承关系称为多继承。
Python是支持多继承的。
在定义类时,在类名后面的圆括号中指定基类,多个基类使用逗号分隔。基本格式如下:
例如:
在上面的例子中,A继承于B和C,即B和C为A的基类,A为B和C的派生类。因为在这个继承关系中,有两个基类,所以这种继承关系也称多继承。
下面是多继承的简单例子:
Python是支持多继承的。
在定义类时,在类名后面的圆括号中指定基类,多个基类使用逗号分隔。基本格式如下:
class 派生类(基类1, 基类2, ...):
...
例如:
class A(B, C):
pass
在上面的例子中,A继承于B和C,即B和C为A的基类,A为B和C的派生类。因为在这个继承关系中,有两个基类,所以这种继承关系也称多继承。
下面是多继承的简单例子:
# -*- coding: utf-8 -*-
class Vehicle():
'''
定义一个车辆类Vehicle
'''
def setSpeed(self, speed):
self.speed = speed
class Weapon():
'''
定义一个武器类Weapon
'''
def setFlightshot(self, flightshot):
self.flightshot = flightshot
class Tank(Vehicle, Weapon):
'''
从Vehicle和Weapon派生出新类Tank
'''
def setArmor(self, armor):
self.armor = armor
def printInfo(self):
print('speed: {}, flightshot: {}, armor: {}'.format(self.speed, self.flightshot, self.armor))
tank = Tank()
tank.setSpeed(100) # 方法setSpeed()是从Vehicle继承而来
tank.setFlightshot(2000) # 方法setFlightshot()是从Weapon继承而来
tank.setArmor(5) # 方法setArmor是类Tank内部定义的
tank.printInfo() # 方法printInfo是类Tank内部定义的