多继承

多继承
  多继承:在一个继承关系中一个以上的直接基类,那么这种继承关系称为多继承。
  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内部定义的