需求
- 小明和小美都爱跑步
- 小明体重 75 公斤
- 小美体重 45 公斤
- 每次跑步会减肥 0.5 公斤
- 每次吃东西体重增加 1 公斤
需求分析
- 小明、小美都是一个具体的对象,他们都是人,所以应该抽象成人类
- 小明、小美是具体的对象的姓名,而体重是另一个属性,所以有两个属性
- 跑步、吃东西都是一种行为,所以也有两个方法
类图
![](https://i-blog.csdnimg.cn/blog_migrate/b76d26ccef2b769a3ad58f9d1f4457bf.png)
实现代码
class Person:
# 构造方法
def __init__(self, name, weight):
# 两个实例属性
self.name = name
self.weight = weight
# 打印实例对象会返回的内容
def __str__(self):
return f"名字:{self.name} 体重:{self.weight} 很爱跑步"
# 跑步实例方法
def run(self):
print(f"{self.name} 在跑步,体重减少0.5公斤")
self.weight -= 0.5
# 吃饭实例方法
def eat(self):
print(f"{self.name} 在吃饭,体重增加1公斤")
self.weight += 1
# 实例对象一:小明
xiaoming = Person("小明", 75)
print(xiaoming)
xiaoming.eat()
xiaoming.run()
print(xiaoming)
# 实例对象二:小美
xiaomei = Person("小美", 45)
print(xiaomei)
xiaomei.eat()
xiaomei.run()
print(xiaomei)
# 输出结果
名字:小明 体重:75 很爱跑步
小明 在吃饭,体重增加1公斤
小明 在跑步,体重减少0.5公斤
名字:小明 体重:75.5 很爱跑步
名字:小美 体重:45 很爱跑步
小美 在吃饭,体重增加1公斤
小美 在跑步,体重减少0.5公斤
名字:小美 体重:45.5 很爱跑步