1 # 1.抽象類 2 # 房子類,家具類 3 # 2分析房子的成員 4 # 屬性:房子的面積,家具串列 5 # 方法:存放家具的方法 6 7 # 3.分析家具的屬性 8 # 家具的屬性:名稱,面積 9 10 #定義房子類 11 class Home(object): 12 # 提供方法給創建好的物件提供屬性 13 def __init__(self,area): 14 # 房子的面積 15 self.area=area 16 # 家具串列 17 self.furniture_list=list() 18 19 def save_furniture(self,current_furniture): 20 if self.area>current_furniture.area: 21 # 把家具添加到家具串列 22 self.furniture_list.append(current_furniture) 23 # 添加后需要修改房子的面積 24 self.area-=current_furniture.area 25 print("家具添加成功,名字",current_furniture.name) 26 else: 27 print("對不起,房子面積不夠用,無法添加該家具") 28 29 def __str__(self): 30 # 判斷家具串列里面是否有家具 31 if self.furniture_list: 32 # print(self.furniture_list) 33 new_list=[furniture.name for furniture in self.furniture_list] 34 new_str=",".join(new_list) 35 return "房子的當前面積為:%.2f 家具有:%s" %(self.area,new_str) 36 else: 37 # 沒有家具 38 return "房子的面積為: %.2f" % self.area 39 class Furniture(object): 40 def __init__(self,name,area): 41 # 家具的名稱 42 self.name=name 43 # 家具的面積 44 self.area=area 45 46 def __str__(self): 47 return "家具的名稱:%s 家具的面積:%.2f" %(self.name,self.area) 48 49 h=Home(200) 50 print(h) 51 # 創建家具物件 52 bed = Furniture("雙人床", 4) 53 print(bed) 54 h.save_furniture(bed) 55 print(h) 56 57 tv=Furniture("電視機",5) 58 print(tv) 59 h.save_furniture(tv) 60 print(h)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/161025.html
標籤:Python
上一篇:面向物件分析烤地瓜專案
下一篇:Python:tkinter
