Python 多重继承

 

  接下来,我们准备为大家介绍"多重继承"

 

   多重继承——可以给一个“子类”继承多个“父类”,这样的继承称为多重继承,而继承后的子类,可以使用所继承的父类中的公有属性与方法,但不可以使用父类中的私有属性与方法。

    

 

 多重继承的定义格式:

 

  class  子类名字(父类1,父类2,...父类n):

      类的主体代码      

 

  格式分析:

     (1)以class关键字开头

     (2)子类名字

     (3)一对小括号

     (4)将要继承的父类名字,各父类之间通过逗号分隔,父类必须已经定义

     (5)一个冒号

     (6)类中的代码

 

   其实,与继承的语法格相似,只是小括中可以写入多个不同的父类名字。

 

 

 

  接下来,我们结合例子作进一步的学习

 

   例子:

   #========================

   #定义了一个描述手枪的类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中的“多重继承”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”

 

  不要停留在理论规则上面,快动起来吧!

 

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练