Python 多重继承中同名方法与属性的调用选择
1、多重继承中同名方法与属性的调用选择 在Python语言中,当子类通过多重继承的方式来继承多个父类时,如果不同的父类中出现同名的属性与方法时, 如果去判断调用哪个父类中的属性与方法呢?那么,在这个时候,可以按照继承时的顺序, 即从左往右查找父类中同名属性与方法,只要找到了就使用。 而另一种方法就是,在子类中调用父类的属性或方法时,加上父类的名字再调用对应的属性与方法就可以作出区别了。
2、 例子: #======================== #定义了一个描述手枪的类Gun #======================== class Gun : def Boom( self ): #定义了方法__Boom pow = 1000 return pow #======================== #定义了一个描述散弹枪的类ShotGun #======================== class ShotGun : x = 1 def Boom( self ): #定义了方法__Boom pow = 3000 return pow #======================== #定义了一个描述角色类Role,并继承了手枪类与散弹枪类 #======================== class Role( ShotGun,Gun ): rx = 10 #角色的位置X ry = 10 #角色的位置Y x = ShotGun.x #通过父类名字ShotGun调用公有属性x,并将其赋给 子类Role中的属性x Bm = Gun.Boom #通过父类名字Gun调用公有方法Boom,并将其赋给 Role类中的Bm方法
r1 = Role() #定义了r1对象 r1.Boom() #调用了父类ShotGun中公有方法Boom,因为继承的顺序是ShotGun在先 r1.Bm() #调用了父类Gun中公有方法Boom,因为,在Role类中,通过父类Gun将Boom 方法赋给了Bm,所以,Bm调用的是父类Gun中的方法Boom。
======================================================================= 非常好,现在,我们已经掌握了Python语言中的(多重继承中同名方法与属性的调用选择)但是,如何去运行用它呢? 所以,我们就需要通过下方的链接,进入到Python语言的代码训练中,然后,通过实践去加深对该知识点的理解与运用。 >>>下载训练环境与使用说明(使用真实的开发环境,结合游戏闯关进行编程训练)
|