Python 多重继承
1、多重继承? 在Python语言中,我们可以通过1个子类去继承多个不同的父类,从而,可以调用不同父类中公有的属性与方法。 2、多重继承的定义格式: class 子类名字(父类1,父类2,...父类n): 类的主体代码
格式分析: (1)以class关键字开头 (2)子类名字 (3)一对小括号 (4)将要继承的父类名字,各父类之间通过逗号分隔,父类必须已经定义 (5)一个冒号 (6)类中的代码
其实,与继承的语法格相似,只是小括中可以写入多个不同的父类名字。
2、 例子: #======================== #定义了一个描述手枪的类Gun #======================== class Gun : x = 0; def Gshoot( self ): #定义了方法Gshoot self.x = self.x + 1
def __Boom( self ): #定义了私有方法__Boom pow = 1000 return pow
#======================== #定义了一个描述散弹枪的类ShotGun #======================== class ShotGun : x = 0 y = 0 __BulletX = 0 def SGshoot( self ): #定义了方法SGshoot self.x = self.x + 1; self.y = self.y + 1;
#======================== #定义了一个描述角色类Role,并继承了手枪类与散弹枪类 #======================== class Role( ShotGun,Gun ): rx = 10 #角色的位置X ry = 10 #角色的位置Y
r1 = Role() #定义了r1对象
r1.rx = 10 #调用Role类自身的属性RX并设置为10 r1.ry = 20 #调用Role类自身的属性RY并设置为20
r1.Gshoot() #调用了父类Gun中公有方法Gshoot r1.SGshoot() #调用了父类ShotGun中公有方法SGshoot
r1.__BulletX #错误,不可以调用父类ShotGun中的私有属性__BulletX r1.__Boom() #错误,不可以调用父类Gun中的私有方法__Boom
======================================================================= 非常好,现在,我们已经掌握了Python语言中的(多重继承)但是,如何去运行用它呢? 所以,我们就需要通过下方的链接,进入到Python语言的代码训练中,然后,通过实践去加深对该知识点的理解与运用。 >>>下载训练环境与使用说明(使用真实的开发环境,结合游戏闯关进行编程训练)
|