python类与继承
class Robot_One: # 第一代 def __init__(self, year, name): # 初始化函数 self.year = year self.name = name def walking_on_plain(self): print(self.name + "只能在平地上行走,有障碍物就会摔倒") def robot_info(self): print("{0}年产生的机器人{1},是中国人研发的".format(self.year, self.name)) class RobotTwo(Robot_One): # 第二代机器人继承第一代机器人的类 # def __init__(self,year,name): # self.year=year # self.name=name def walking_on_ground(self): # 子类函数名与父类重复,重写 print(self.name + "可以在平地上平稳的行走") def walking_avoid_block(self): self.robot_info() print(self.name + "可以避开障碍物") # def robot_info(self): # print("{0}年产生的机器人{1},是中国人研发的".format(self.year,self.name)) # 继承的类是否要用到初始化函数,看是否从父类中继承了 # 父类有子类也有,子类的实例优先使用子类的函数 t1 = Robot_One("1996","嘻嘻") t1.robot_info() t1.walking_on_plain() print("*"*40) # 分界线 t2 = RobotTwo("1990", "哈哈") # 第二代继承第一代,所以需要传参数 t2.robot_info() # 第二代继承了第一代的方法,所以第一代中有的函数第二代可以直接调用 t2.walking_on_plain() t2.walking_on_ground() t2.walking_avoid_block() # 多继承的子类具有两个父类的属性和方法,如果两个父类具有同名的方法的时候 # 子类调用函数就近原则,初始化函数也包括在内
运行结果:
1996年产生的机器人嘻嘻,是中国人研发的
嘻嘻只能在平地上行走,有障碍物就会摔倒
****************************************
1990年产生的机器人哈哈,是中国人研发的
哈哈只能在平地上行走,有障碍物就会摔倒
哈哈可以在平地上平稳的行走
1990年产生的机器人哈哈,是中国人研发的
哈哈可以避开障碍物
本文来自博客园,作者:{Tester十点半},转载请注明原文链接:https://www.cnblogs.com/jialeliu/p/14071016.html