# 以物件導向的方式分析烤地瓜
# 1. 抽象類,在程式中定義類
# 定義地瓜類
# 定義人類
# 2. 分析地瓜類的成員
# 2.1 屬性: 烤地瓜的狀態, 烤地瓜的時間, 佐料列表屬性
# 2.2 方法: 無
# 3. 分析人類的成員
# 3.1 屬性: 姓名, 烤齡,性別
# 3.2 方法: 烤地瓜的行為方法,新增佐料方法
# 人類
class person(object):
def __init__(self, name, age):
self.name = name
# 烤齡
self.age = age
# 提供烤地瓜的行為方法
def roast(self, time, roast_sp):
# 把每次傳入的時間,累加到烤地瓜的時間屬性上
roast_sp.roast_time += time
# 根據烤地瓜的總時間來判斷地瓜的狀態
if roast_sp.roast_time > 10:
roast_sp.roast_status = "烤糊了"
elif roast_sp.roast_time > 6: # [7,10]
roast_sp.roast_status = "烤熟了"
elif roast_sp.roast_time > 3: # [4, 6]
roast_sp.roast_status = "半生不熟"
else:
roast_sp.roast_status = "生的"
def __str__(self):
return "姓名: %s 烤齡: %d" % (self.name, self.age)
# 地瓜類
class sweetpotato(object):
def __init__(self):
# 給地瓜物件新增屬性資訊
# 烤地瓜的狀態
self.roast_status = "生的"
# 烤地瓜的時間, 相當於烤地瓜的總時間
self.roast_time = 0
# 佐料列表
self.condiment_list =
def __str__(self):
# 判斷地瓜有沒有佐料
if self.condiment_list:
# ["番茄醬", "辣椒醬"] => "番茄醬,辣椒醬"
condiment_list_str = ",".join(self.condiment_list)
return self.roast_status + "地瓜" + "[" + condiment_list_str + "]"
else:
return self.roast_status + "地瓜"
print("**********=準備開始烤地瓜啦**********=")
# 通過類建立乙個地瓜物件
sp = sweetpotato()
print(sp)
# 通過類建立乙個烤地瓜的師傅
person = person("老王", 10)
print(person)
print("**********=先烤三分鐘**********=")
person.roast(3, sp)
print(sp)
print("**********=再烤三分鐘**********=")
person.roast(3, sp)
print(sp)
print("**********=再烤三分鐘**********=")
person.roast(3, sp)
print(sp)
print("**********=新增佐料**********=")
person.add_condiment("番茄醬", sp)
person.add_condiment("辣椒醬", sp)
print(sp)
# 總結:物件導向要找合適的功能物件,合適方法需要放到合適類裡面
物件導向分析烤地瓜專案
1 物件導向分析烤地瓜23 1.抽象類4 1.1人類5 1.2地瓜類67 8 分析人類裡面的屬性和方法9 屬性 名字,性別,烤齡10 方法 烤地瓜的方法,新增佐料 1112 地瓜類中的屬性和方法13 屬性 烤地瓜的狀態,烤地瓜的時間,佐料列表14 方法 無 1516 17class person o...
物件導向案例 烤地瓜 搬家具python實現
烤地瓜案例 1 定義類 初始化屬性 被烤和新增調料的方法 顯示物件資訊的str class sweetpotato 定義地瓜的初始化屬性 def init self 被烤的時間 self.cook time 0 烤的狀態 self.cook state 生的 調料列表 self.condiments...
python烤地瓜例項(深入理解物件導向程式設計)
定義乙個地瓜類 class sweetpotato def init self self.cookedstring 生的 self.cookedlevel 0 self.condiments 為了能夠儲存多個資料,往往在開發中讓乙個屬性是列表 def str self return 地瓜 狀態 s ...