面向对象实现:宠物生病治疗
分析设计:
宠物:昵称、健康值、恢复
人:昵称、健康值
宠物医院:名字、治疗
class Pet:"""定义一个宠物类型"""def __init__(self, nickname, health):self.nickname = nicknameself.health = healthdef recovery(self):"""定义宠物康复的行为"""self.health += 5print(self.nickname, "正在恢复中...") class Person:"""定义一个人的类型"""def __init__(self, nickname, health):self.nickname = nicknameself.health = healthdef recovery(self):"""定义人恢复的行为"""self.health += 10print(self.nickname, "正在恢复中...") class PetHospital:"""定义宠物医院的类型"""def __init__(self, name):self.name = namedef 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)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758运行结果:
哈哈 开始接受治疗
哈哈 正在恢复中…
哈哈 开始接受治疗
哈哈 正在恢复中…
哈哈 已经恢复健康
小明 我们是宠物医院哦