Python面向對象分析存放傢俱

 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)
相關文章
相關標籤/搜索