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 很愛跑步

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM