继承
class RobotOne:#第一代机器人
def init(self,year,name):
self.name=name
self.year=year
def walking_on_ground(self):
print(self.name+"只能在平地上行走,有障碍物就会摔倒")
def robot_info(self):
print("{0}年产生的机器人{1},是中国研发的".format(self.year,self.name))
为了多继承另外写的类
class RobotTwo():#第二代机器人继承了第一代机器人的类
def init(self,year,name):
self.name=name
self.year=year
def walking_on_ground(self): #子类里面的函数名与父类函数名重复了 ,就叫重写
print(self.name + "只能在平地上平稳地行走")
def walking_avoid_block(self): #拓展
self.robot_info()
print(self.name+"可以避开障碍物")
class RobotTwo(RobotOne):#第二代机器人继承了第一代机器人的类
def walking_on_ground(self): #子类里面的函数名与父类函数名重复了 ,就叫重写
print(self.name + “只能在平地上平稳地行走”)
def walking_avoid_block(self): #拓展
self.robot_info()
print(self.name+“可以避开障碍物”)
第二代机器人
继承的类是否要用到初始化函数 请看是否从父类里面继承了
1、父类有的,继承后 我都 可以直接拿过来用
2、父类有 子类也有重名的函数,那么子类的实例优先调用子类的
r2=RobotTwo(“1999”,“小王”)
r2.walking_on_ground()
r1=RobotOne(“1999”,“小明”)
r1.walking_on_ground()
多继承 继承多个父类
class RobotThree(RobotTwo,RobotOne):#第三代机器人继承了第一代和第二代机器人的类
def jump(self):
print(self.name+“可以单膝跳跃”)
r3=RobotThree(“2000”,‘大王’)
r3.jump()
r3.walking_on_ground()
#具有两个父类的属性和方法,如果两个父类具有同名方法的时候,就就近原则
子类调用函数就近原则,初始化函数也包含在内
1、如果类里面有初始化函数 创建实例的时候 就必须在实例里面传递参数
2、调用函数的时候 实例调用 请自行去复习下 类函数 静态函数 实例函数