1. 程式人生 > >類實例:搬家具

類實例:搬家具

lse 形參 name 家裏 [] clas 遊泳 ~~ free

# 有房子家具,把家具放到房子裏面去
# 類:房子 初始化:家裏地理位置,使用面積,房間剩余面積,家具列表[家具1,家具2]
# 類:家具初始化:名字,占地面積

class Home(object):
    def __init__(self, address, area):
        self.address = address
        self.area = area
        self.free_area = area# 沒有放家具,剩余面積=使用面積
        self.furnitures = []

    def add_furniture(self,fur):  # fur是形參 -- 存一個家具
        # 最終面積 = 剩余面積 - 這次的家具面積
        # 看最終面積 >= 家具的area
        self.result_area = self.free_area - fur.area
        if self.result_area >= 0:
            # 可以搬 -- 把家具的名字append到列表 jiaju.name
            self.furnitures.append(fur.name)
            # 計算現在剩下的面積:放上了這個家具之後的面積
            self.free_area -= fur.area
        else:
            print(‘面積不足~~‘)


    def __str__(self):
        return ‘家的地址是%s,使用面積是%s,剩余面積是%s,家具有%s‘ % (self.address, self.area, self.free_area, self.furnitures)

class Furniture(object):
    def __init__(self, name, area):
        self.name = name
        self.area = area

    def __str__(self):
        return ‘家具名字是%s,占地面積是%s‘ % (self.name, self.area)


jia1 = Home(‘盤古大觀‘, 300)
print(jia1)
bed1 = Furniture(‘雙人床‘, 4)
print(bed1)
youyongchi = Furniture(‘遊泳池‘,200)
jia1.add_furniture(youyongchi)
print(jia1)
jia1.add_furniture(bed1)
print(jia1)

  

類實例:搬家具