day10②
python自学,笔记分享
面向对象编程——实例二:搬家具
'''搬家具:小于房子剩余面积的家具摆放到房子中'''
# 定义房子类(占地面积、剩余面积、地理位置、房子内家具列表),家具类(名字,占地面积)
# 实例方法:容纳家具
class Furniture():
def __init__(self, name, area):
self.name = name # 分别取形参,方便传入数据
self.area = area # 家具占地面积
class Home():
def __init__(self, address, area):
self.address = address
self.area = area
# 初始没有家具,所以只需定义上面两个
self.free_area = area # 初始值没有家具所以等于area
self.furniture = []
def add_furniture(self, item):
if self.free_area >= item.area: # 调用到大小
self.furniture.append(item.name) # 调用到名字
self.free_area -= item.area
else:
print('家具太大,剩余面积不足')
def __str__(self):
return f'房子在{self.address}占地{self.area}剩余面积{self.free_area},家具有{self.furniture}'
# 显示房屋信息
bed = Furniture('双人床', 6)
sofa = Furniture('沙发', 3)
jia1 = Home('玉田', 200)
print(jia1)
jia1.add_furniture(bed)
jia1.add_furniture(sofa)
print(jia1)