Python - 面向对象编程 - 小实战(2)

需求

  • 小明和小美都爱跑步
  • 小明体重 75 公斤
  • 小美体重 45 公斤
  • 每次跑步会减肥 0.5 公斤
  • 每次吃东西体重增加 1 公斤

 

需求分析

  • 小明、小美都是一个具体的对象,他们都是人,所以应该抽象成人类
  • 小明、小美是具体的对象的姓名,而体重是另一个属性,所以有两个属性
  • 跑步、吃东西都是一种行为,所以也有两个方法

 

类图

 

实现代码

复制代码
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 很爱跑步
复制代码

 

posted @   小菠萝测试笔记  阅读(1511)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示