103.继承案例二

Posted kangwenju

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

 

以上是关于103.继承案例二的主要内容,如果未能解决你的问题,请参考以下文章

百科知识 什么是富二代

OpenGL基础学习之二代码基本结构

为什么二代测序的原始数据中会出现Read重复现象?

二代身份证号码编码规则

染色体基因芯片分析和第二代测序应用的区别

编写高质量代码改善C#程序的157个建议——建议103:区分组合和继承的应用场合