python综合案例分享_Python面向对象 三大特性 综合案例+1(视频里的作业)

class Dog:

# 在创建一个小狗实例的时候,给它设置几个属性

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

self.name = name

self.age = age

def eat(self):

# print("名字是%s,年龄%d岁的小狗在吃饭"%(self.name,self.age))

print("%s吃饭" % self)

return self

def play(self):

print("%s玩" % self)

return self

def sleep(self):

print("%s睡觉" % self)

return self

def watch(self):

print("%s看家"%self)

def __str__(self):

# self对象本身对字符串的一个描述

return "名字是{},年龄{}岁的小狗在".format(self.name, self.age)

class Cat:

# 在创建一个小狗实例的时候,给它设置几个属性

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

self.name = name

self.age = age

def eat(self):

print("%s吃饭" % self)

return self

def play(self):

print("%s玩" % self)

return self

def sleep(self):

print("%s睡觉" % self)

return self

def catch(self):

print("%s捉老鼠"%self)

def __str__(self):

# self对象本身对字符串的一个描述

return "名字是{},年龄{}岁的小猫在".format(self.name, self.age)

class Person:

# 在创建一个小狗实例的时候,给它设置几个属性

def __init__(self, name, pets, age = 1):

self.name = name

self.age = age

self.pets = pets

def eat(self):

print("%s吃饭" % self)

return self

def play(self):

print("%s玩" % self)

return self

def sleep(self):

print("%s睡觉" % self)

return self

def feed_pets(self):

for pet in self.pets:

pet.eat()

pet.sleep()

pet.play()

def make_pets_work(self):

for pet in self.pets:

if isinstance(pet, Dog):

pet.watch()

elif isinstance(pet, Cat):

pet.catch()

def __str__(self):

# self对象本身对字符串的一个描述

return "名字是{},年龄{}岁的人在".format(self.name, self.age)

d = Dog("小黑",18)

c = Cat("小红",2)

p = Person("BruceLong", [d, c], 24 )

p.feed_pets()

p.make_pets_work()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值