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)
人生苦短,我用python!