面向对象编程的一个小作业,边学发习边编写!!!直接上代码

class Animal(object):

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def eat(self):
        print(self,"正在家里吃饭!!!")

    def sleep(self):
        print(self, "正在家里睡觉!!!")

class Dog(Animal):

    def work(self):
        print(self,'正在家里看守和照看小主人!!!')

    def __str__(self):
        return f'我叫{self.name},我是一可爱的小狗,今年{self.age}岁!!!'

class Cat(Animal):

    def work(self):
        print(self, '正在家里逗小主人玩和赶老鼠!!!')

    def __str__(self):
        return f'我叫{self.name},我是一可爱的小狗,今年{self.age}岁!!!'

class Husky(Dog):
    def works(self):
        print(self,'我的另外一份工作是陪主人每天晚上出去逛街!!!')

class Teacher(Animal):
    def __init__(self,name,age,pets,duty):
        super(Teacher,self).__init__(name,age)
        self.duty = duty
        self.pets = pets

    def teach(self):
        print(self, '正在给学生上Python高级编程!!!')

    def manage(self):
        print(self, "我的职责是管理学生的学习!!!")

    def have_pets(self):
        for pet in self.pets:
            pet.eat()
            pet.sleep()

    def make_pets_work(self):
        for pet in self.pets:
            if isinstance(pet,Dog):
                pet.work()
            elif isinstance(pet,Husky):
                pet.works()
            elif isinstance(pet,Cat):
                pet.work()


    def __str__(self):
        return f'我叫{self.name},我是一名{self.duty},今年{self.age}岁!!!'
        #return "我叫{},今年{}岁!!!".format(self.name,self.age)

class Grouper(Animal):

    def __init__(self,name,age,code,duty= '学生组长'):
        super(Grouper,self).__init__(name,age)
        self.duty = duty
        self.code = code

    def learn(self):
        print(self, '正在教室里学习!!!')

    def manage(self):
        print( self, "我的职责是协助老师管理同学的学习和娱乐生活!!!")

    def __str__(self):
        return f'我叫{self.name},我是一名{self.duty},今年{self.age}岁!!!'
        #return "我叫{},今年{}岁!!!".format(self.name,self.age)

class Student(Animal):

    def __init__(self, name, age, code, duty='学生'):
        super(Student, self).__init__(name, age)
        self.duty = duty
        self.code = code

    def learn(self):
        print(self, '正在教室里学习!!!')

    def __str__(self):
        return f'我叫{self.name},我是一名{self.duty},今年{self.age}岁!!!'
        # return "我叫{},今年{}岁!!!".format(self.name,self.age)


print("我是一名人民老师:")
d = Dog('小黑',2)
# d.work()
# d.eat()
c = Cat('小花',3)
h = Husky('小二哈',6)
# h.work()
# h.works()
teacher = Teacher('Lishi','38',[d,c,h],'人民教师')
print(teacher)
teacher.sleep()
teacher.eat()
teacher.manage()
teacher.have_pets()
teacher.make_pets_work()

print("我是一位学生组长:")
gruop = Grouper('Li宁','18','0759')
print(gruop)
gruop.sleep()
gruop.eat()
gruop.manage()

print("我是一位学生:")
student = Student('Liming','16','0758')
print(student)
student.sleep()
student.eat()
student.learn()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值