Live2D

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)

 

posted @ 2020-04-08 16:46  编程小生_Null  阅读(617)  评论(0编辑  收藏  举报
返回顶端