• 103.继承案例二


    继承案例二

    1.定义一个人类:
    包括属性:姓名(name)、性别(sex)、年龄(age)、国籍(country)
    包括方法:吃饭(eat)、睡觉(sleep),工作(work)
    # 自定义一个人类
    class Person(object):
    
        def __init__(self, name, sex, age, country):
            """
            :param name: 名字
            :param sex: 性别
            :param age: 年龄
            :param country: 国籍
            """
            self.name = name
            self.sex = sex
            self.age = age
            self.country = country
    
        def eat(self):
            """吃饭"""
            print("%s要吃饭" % self.name)
    
        def sleep(self):
            """睡觉"""
            print("%s要睡觉" % self.name)
    
        def work(self):
            """工作"""
            print("%s要睡觉" % self.name)
    2.根据人类,派生一个学生类:
    增加属性:学校(school_name)、学号(no)
    重写工作方法(学生的工作是学习)
    # 自定义学生类
    class Student(Person):
    
        def __init__(self, name, sex, age, country, school_name, no):
            """
            :param name: 名字
            :param sex: 性别
            :param age: 年龄
            :param country: 国籍
            :param school_name: 学校名字
            :param no: 学号
            """
            Person.__init__(name, sex, age, country)
            self.school_name = school_name
            self.no = no
    
        def work(self):
            """学习"""
    3.根据人类,派生一个工人类:
    增加属性:单位(company)、工龄(work_age)
    重写工作方法(工人的工作是搬砖)
    # 自定义工人类
    class Worker(Person):
    
        def __init__(self, name, sex, age, country, company, work_age):
            """
            :param name: 名字
            :param sex: 性别
            :param age: 年龄
            :param country: 国籍
            :param company: 公司
            :param work_age: 工龄
            """
            Person.__init__(name, sex, age, country)
            self.company = company
            self.work_age = work_age
    
        def work(self):
            """搬砖"""
            print("%s搬砖很辛苦" % self.name)
    4.根据学生类,派生一个学生干部类:
    增加属性:职务(job)
    增加方法: 开会(meet)
    # 自定义学生干部类       
    class SuperStudent(Student):
    
        def __init__(self, name, sex, age, country, school_name, no, job):
            """
                    :param name: 名字
                    :param sex: 性别
                    :param age: 年龄
                    :param country: 国籍
                    :param school_name: 学校名字
                    :param no: 学号
                    :param job: 职务
                    """
            Student.__init__(name, sex, age, country, school_name, no)
            self.job = job
    
        def meet(self):
            """开会"""
            print("%s%s需要开会" % (self.name, self.job))

    例子1:

        def __init__(self, name, sex, age, country):
            """
            :param name: 姓名
            :param sex: 性别
            :param age: 年龄
            :param country: 国籍
            """
            self.name = name
            self.sex = sex
            self.age = age
            self.country = country
    
        # 吃饭
        def eat(self):
            print("%s要吃饭..." % self.name)
    
        # 睡觉
        def sleep(self):
            print("%s要睡觉..." % self.name)
    
        # 工作
        def work(self):
            print("%s要工作..." % self.name)

    例子2:

    # 1.定义一个人类:
    # 包括属性:姓名(name)、性别(sex)、年龄(age)、国籍(country)
    # 包括方法:吃饭(eat)、睡觉(sleep),工作(work)
    
    # 定义一个人类
    class Person(object):
    
        def __init__(self, name, sex, age, country):
            """
            :param name: 姓名
            :param sex: 性别
            :param age: 年龄
            :param country: 国籍
            """
            self.name = name
            self.sex = sex
            self.age = age
            self.country = country
    
        # 吃饭
        def eat(self):
            print("%s要吃饭..." % self.name)
    
        # 睡觉
        def sleep(self):
            print("%s要睡觉..." % self.name)
    
        # 工作
        def work(self):
            print("%s要工作..." % self.name)
    
    # 2.
    # 根据人类,派生一个学生类:
    # 增加属性:学校(school_name)、学号(no)
    # 重写工作方法(学生的工作是学习)
    # 自定义一个学生类
    class Student(Person):
    
        def __init__(self, name, sex, age, country, school_name, no):
            # 调用父类的同名方法
            Person.__init__(self, name, sex, age, country)
            # 自定义
            self.school_name = school_name
            self.no = no
    
        def __str__(self):
            return "姓名:%s,性别:%s,年龄:%d,国籍:%s,学校:%s,学号:%s" % (self.name,
                                                            self.sex,
                                                            self.age,
                                                            self.country,
                                                            self.school_name,
                                                            self.no)
    
        # 学习
        def work(self):
            print("%s要学习..." % self.name)
    
    
    
    def s():
        xh = Student("小红", "", 19, "中国", "传智大学", "001")
        print(xh)
        xh.work()
        xh.eat()
        xh.sleep()
    
    s()
    
    
    
    def p():
        # 创建一个小明对象
        xm = Person("小明", "", 20, "中国")
        xm.eat()
        xm.sleep()
        xm.work()
        print(xm)

    例子3:

    # 1.定义一个人类:
    # 包括属性:姓名(name)、性别(sex)、年龄(age)、国籍(country)
    # 包括方法:吃饭(eat)、睡觉(sleep),工作(work)
    
    # 定义一个人类
    class Person(object):
    
        def __init__(self, name, sex, age, country):
            """
            :param name: 姓名
            :param sex: 性别
            :param age: 年龄
            :param country: 国籍
            """
            self.name = name
            self.sex = sex
            self.age = age
            self.country = country
    
        # 吃饭
        def eat(self):
            print("%s要吃饭..." % self.name)
    
        # 睡觉
        def sleep(self):
            print("%s要睡觉..." % self.name)
    
        # 工作
        def work(self):
            print("%s要工作..." % self.name)
    
    # 3.根据人类,派生一个工人类:
    # 增加属性:单位(company)、工龄(work_age)
    # 重写工作方法(工人的工作是搬砖)
    # 自定义一个工人类
    class Worker(Person):
    
        def __init__(self, name, sex, age, country, company, work_age):
    
            Person.__init__(self, name, sex, age, country)
            # 自定义
            self.company = company
            self.work_age = work_age
    
        def __str__(self):
            return "姓名:%s,性别:%s,年龄:%d,国籍:%s,公司:%s,工龄:%d" % (self.name,
                                                            self.sex,
                                                            self.age,
                                                            self.country,
                                                            self.company,
                                                            self.work_age)
        # 重写父类的work方法
        def work(self):
            print("%s要搬砖..." % self.name)
    
    def w():
    
        zs = Worker("张三", "", 35, "中国", "XX公司", 5)
        zs.eat()
        zs.sleep()
        zs.work()
    
    w()

    例子4:

    # 1.定义一个人类:
    # 包括属性:姓名(name)、性别(sex)、年龄(age)、国籍(country)
    # 包括方法:吃饭(eat)、睡觉(sleep),工作(work)
    
    # 定义一个人类
    class Person(object):
    
        def __init__(self, name, sex, age, country):
            """
            :param name: 姓名
            :param sex: 性别
            :param age: 年龄
            :param country: 国籍
            """
            self.name = name
            self.sex = sex
            self.age = age
            self.country = country
    
        # 吃饭
        def eat(self):
            print("%s要吃饭..." % self.name)
    
        # 睡觉
        def sleep(self):
            print("%s要睡觉..." % self.name)
    
        # 工作
        def work(self):
            print("%s要工作..." % self.name)
    
    # 2.
    # 根据人类,派生一个学生类:
    # 增加属性:学校(school_name)、学号(no)
    # 重写工作方法(学生的工作是学习)
    # 自定义一个学生类
    class Student(Person):
    
        def __init__(self, name, sex, age, country, school_name, no):
            # 调用父类的同名方法
            Person.__init__(self, name, sex, age, country)
            # 自定义
            self.school_name = school_name
            self.no = no
    
        def __str__(self):
            return "姓名:%s,性别:%s,年龄:%d,国籍:%s,学校:%s,学号:%s" % (self.name,
                                                            self.sex,
                                                            self.age,
                                                            self.country,
                                                            self.school_name,
                                                            self.no)
    
        # 学习
        def work(self):
            print("%s要学习..." % self.name)
    
    
    # 4.根据学生类,派生一个学生干部类:
    # 增加属性:职务(job)
    # 增加方法: 开会(meet)
    # 自定义学生干部类
    class SuperStudent(Student):
    
        def __init__(self, name, sex, age, country, school_name, no, job):
            # 调用父类的方法
            Student.__init__(self, name, sex, age, country, school_name, no)
            # 自定义植物
            self.job = job
    
        # 自定义 开会
        def meet(self):
            print("%s要开会..." % self.name)
            
    
    def ss():
        xg = SuperStudent("小刚", "", 22, "中国", "传智大学", "002", "班长")
        xg.meet()
        xg.work()
        xg.eat()
        xg.sleep()
    
    ss()
  • 相关阅读:
    CSS之EM相对单位
    html之canvas
    JS之事件监听
    html之iframe
    [转]nodejs中的process模块--child_process.exec
    [转]阮一峰:理解RESTful架构
    JS性能之滚动条之外的其他部分
    JS性能之setTimeout与clearTimeout
    CSS禁止鼠标事件---pointer-events:none
    打开文件、文件操作、管理上下文
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12878200.html
Copyright © 2020-2023  润新知