Python3基础19——类的继承

类的继承特点:
  • 子类里面的函数名与父类函数名重复的时候,就叫重写
  • 继承的类,是否要用到初始化函数,请看是否从父类里面继承了
  • 父类有的,继承后,我都可以直接拿过来用
  • 父类有,子类也有重名的函数,那么子类的实例就优先调用子类的函数
     1 class RobotOne:#第一代机器人
     2     def __init__(self,name,year=None):
     3         self.year=year
     4         self.name=name
     5 
     6     def walking_on_ground(self):#
     7         print(self.name+"只能在平地上行走,有障碍物就会摔倒")
     8 
     9     def robot_info(self):
    10         print("{0}年产生的机器人{1},是中国研发的".format(self.year,self.name))
    11 #继承
    12 class RobotTwo(RobotOne):#第二代机器人继承于第一代机器人的类
    13 
    14      def walking_on_ground(self):#子类里面的函数名与父类函数名重复的时候,就叫重写
    15         print(self.name+"可以在平地上平稳的行走")
    16 
    17      def walking_avoid_block(self):#拓展
    18          #我想在子类的函数里面调用父类的一个函数
    19          self.robot_info()
    20          print(self.name+"可以避开障碍物")

多继承:多继承的子类具有两个父类的属性和方法 ,如果两个父类具有同名方法的时候,子类调用函数就近原则 ,初始化函数也包括在内

 1 #为了多继承写的一个第二代机器人
 2 class RobotTwo():#第二代机器人
 3      def __init__(self,name):
 4          self.name=name
 5 
 6      def walking_on_ground(self):#子类里面的函数名与父类函数名重复的时候,就叫重写
 7         print(self.name+"可以在平地上平稳的行走")
 8 
 9      def walking_avoid_block(self):#拓展
10          #我想在子类的函数里面调用父类的一个函数
11          print(self.name+"可以避开障碍物")
12 
13 #第三代机器人
14 class RobotThree(RobotTwo,RobotOne):#第三代机器人继承于第一代和第二代机器人的类
15     def __init__(self,year,name):
16         self.year=year
17         self.name=name
18 
19     def jump(self):
20         print(self.name+"可以单膝跳跃")

猜你喜欢

转载自www.cnblogs.com/monica711/p/9857884.html