码迷,mamicode.com
首页 > 其他好文 > 详细

18 面向对象2 房间放入家具

时间:2020-06-11 16:39:28      阅读:53      评论:0      收藏:0      [点我收藏+]

标签:定义   int   self   ble   print   pre   des   style   方法   

"""房间放入家具

定义Fur类:
    包含两个属性 ,name 和size
    初始化name和size
    定义__str__方法, 修改print 对象的结果

定义House类:
    包含四个属性 ,name 和size,area(剩余空间),fur_list(家具列表)
    初始化name和size
    定义__str__方法, 修改print 对象的结果
    定义添加家具方法, 修改剩余空间,和家具列表

创建bed,desk,table 三个Fur对象
创建house 对象
添加家具对象
打印house对象
"""

"""输出结果
这个家具是 bed ,占用面积 10 平方米  这个家具是 desk ,占用面积 5 平方米  这个家具是 table ,占用面积 8 平方米 
这个房子是 bedroom ,总面积为 20 平方米
 剩余空间 10 
 包含家具 [‘bed‘] 
这个房子是 bedroom ,总面积为 20 平方米
 剩余空间 5 
 包含家具 [‘bed‘, ‘desk‘] 
家具太大了
这个房子是 bedroom ,总面积为 20 平方米
 剩余空间 5 
 包含家具 [‘bed‘, ‘desk‘] 
"""

class Fur:  # 驼峰命名法

    def __init__(self, name, size):  # __init__ 是内置的初始化方法
        # self.属性=形参 ,   都叫name 但一个是形参,一个属性,可以相同不会冲突
        self.name = name    #家具名字
        self.size = size    #家具占地面积

    def __str__(self):      #内置的类说明方法
        return "这个家具是 %s ,占用面积 %d 平方米 " % (self.name,self.size)


class House:
    def __init__(self,name,size):    #房间属性初始化
        self.name=name      #房间名字
        self.size=size      #房间大小
        self.area=size      #房间剩余面积
        self.fur_list=[]    #房间家具列表

    def add(self,fur):
        if fur.size>self.area:      #如果家具比房间剩余面积大
            print("家具太大了")
            return

        self.fur_list.append(fur.name)
        self.area -= fur.size

    def __str__(self):
        return ("这个房子是 %s ,总面积为 %d 平方米\n 剩余空间 %d \n "
                "包含家具 %s "  % (self.name, self.size,self.area,self.fur_list))


##定义Fur对象
bed = Fur("bed", 10)
desk=Fur("desk",5)
table=Fur("table",8)

#打印Fur对象 ,定义__str__ 函数,影响 print的输出结果
print(bed,desk,table)

#定义House对象
house=House("bedroom",20)
#打印对象


#调用add方法
house.add(bed)
#打印对象

print(house)
house.add(desk)
print(house)
house.add(table)
print(house)

 

18 面向对象2 房间放入家具

标签:定义   int   self   ble   print   pre   des   style   方法   

原文地址:https://www.cnblogs.com/abel2020/p/13093841.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!