zoukankan      html  css  js  c++  java
  • 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年产生的机器人哈哈,是中国人研发的
      哈哈可以避开障碍物

     
  • 相关阅读:
    阿里的蚂蚁雄兵,已经俨然一个帝国
    Redmine数据库备份及搬家
    Redmine插件及使用
    高效代码审查的十个经验
    Redmine管理项目3-调整用户显示格式
    Redmine管理项目2-邮件通知
    Redmine管理项目1-自定义属性
    Excel VLOOKUP函数的使用方法
    一键安装Redmine
    Jdon框架开发指南
  • 原文地址:https://www.cnblogs.com/jialeliu/p/14071016.html
Copyright © 2011-2022 走看看