面向对象案例——宠物医院

面向对象实现:宠物生病治疗

分析设计:

宠物:昵称、健康值、恢复
人:昵称、健康值
宠物医院:名字、治疗

class Pet:
	"""定义一个宠物类型"""

	def __init__(self, nickname, health):
		self.nickname = nickname
		self.health = health

	def recovery(self):
		"""定义宠物康复的行为"""
		self.health += 5
		print(self.nickname, "正在恢复中...")


class Person:
	"""定义一个人的类型"""

	def __init__(self, nickname, health):
		self.nickname = nickname 
		self.health = health
	
	def recovery(self):
		"""定义人恢复的行为"""
		self.health += 10
		print(self.nickname, "正在恢复中...")


class PetHospital:
	"""定义宠物医院的类型"""

	def __init__(self, name):
		self.name = name
	
	def treat(self, pet):
		"""定义治疗的行为"""
		# 判断治疗类型是否为宠物
		if isinstance(pet, Pet):
			while pet.health < 65:
				#需要接受治疗
				print("开始接受治疗", pet.nickname)
				#调用宠物康复的方法
				pet.recovery()
			else:
				print(pet.nickname, "已经恢复健康")
		else:
			print(pet.nickname, "我们是宠物医院哦")

		
# 创建对象,接受治疗
pet1 = Pet("哈哈", 55)
person1 = Person("小明", 50)

#创建一个宠物医院,治疗送来的宠物
ph1 = PetHospital("梦之家")

#调用对象行为
ph1.treat(pet1)
ph1.treat(person1)		
				

运行结果:
哈哈 开始接受治疗
哈哈 正在恢复中…
哈哈 开始接受治疗
哈哈 正在恢复中…
哈哈 已经恢复健康
小明 我们是宠物医院哦

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值