Python基础–搬家具(面向对象)
需求: 定义房子的地点,面积,然后往房子里面放家具
定义家具的面积,如果房子面积大于家具的面积,仍然可以放家具
需要返回家具的自身类型和面积大小
需要返回房子的面积,地址和剩余面积
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| # 定义家具类 class JiaJu: # 初始化魔法方法,定义家具的类型和面积 def __init__(self, type, area): self.type = type self.area = area # 使用str魔法方法返回指定输出 def __str__(self): return "家具的类型是:%s 家具的面积是:%s" % (self.type, self.area)
# 定义屋子类 class House: # 同上 def __init__(self, address, area): self.address = address self.area = area self.free_area = area
def add_jiaju(self, jiaju): # 添加判断条件 确认是否有足够的空间 if self.free_area >= jiaju.area: print("家具添加成功") # 当添加一个家具的时候,需要在总面积减去家具自身面积,得到剩余面积 self.free_area -= jiaju.area else: print("添加失败")
def __str__(self): return "房子的地址是%s.房子的面积是%s 房子的剩余面积是%s" % (self.address, self.area, self.free_area)
# 家具对象 item1 = JiaJu("双人床", 4) print(item1) # 房子对象 home1 = House("xxx", 200) print(home1) # 添加家具 home1.add_jiaju(item1) print(home1)
|