多態練習

  • 練習


    '''
    1).房子類 有戶型,總面積和傢俱名稱列表[]
          新房子沒有任何的傢俱
         def __init__(self,hx,area):
            self.hx=hx
            self.area= area
            self.lists=[]
        添加傢俱
        add_furniture(self,furniture):
        
        展示方法:show(self)
        戶型
        剩餘
        放了哪些傢俱
            
    2) .傢俱類 有名字和佔地面積屬性,
        class Furniture:
            ....
            
        class Bed(Furniture):
            ....
            
        class Desk(Furniture):
           ....
        ...
       創建傢俱對象:
        		牀:佔4平米
        		衣櫃:佔2平面
        		餐桌:佔1.5平米
    3).將以上三件傢俱添加到房子中
    4).打印房子時,要求輸出:戶型,總面積,剩餘面積,傢俱名稱列表
    
    '''
    

    class House:
        def __init__(self, hx, area):
            self.hx = hx
            self.area = area
            self.lists = []
    
        # 添加傢俱
        def add_furniture(self, furniture):  # furniture = table
            if isinstance(furniture, Furniture):
                # 添加到傢俱列表
                self.lists.append(furniture)
                # 從總面積減去傢俱的面積
                self.area -= furniture.area
                print('添新傢俱了')
            else:
                print('不能隨便往家裏搬哦!')
    
        # 展示
        def show(self):
            print('戶型:', self.hx)
            print('剩餘面積:', self.area)
            print('傢俱如下:')
            for f in self.lists:
                print(f)
    
    
    class Furniture:
        def __init__(self, name, area):
            self.name = name
            self.area = area
    
        def __str__(self):
            return self.name + '佔用面積:' + str(self.area)
    
    
    class Bed(Furniture):
        pass
    
    
    class Table(Furniture):
        pass
    
    
    class Robe(Furniture):
        pass
    
    
    bed = Bed('牀', 4)
    
    table = Table('桌子', 1.5)
    
    robe = Robe('衣櫃', 12)
    
    
    house = House('2室一廳', 88)
    
    house.add_furniture(bed)
    house.add_furniture(table)
    house.add_furniture(robe)
    
    house.show()
    

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章