类的学习之家具和房子例子

'''
实例是确定一个房子 放入家具 显示房子的户型家居的名字 房子的面积和放入家具后剩余的面积
先定义家具类 在定义房子类
房子属性:户型  面积
家具属性:名字 占地面积
'''



class HouseItem:
    #定义家具类
    def __init__(self,name,area): # 初始化名字和面积
        self.name = name
        self.area = area
    def __str__(self):
        return '{}占地{:2f}'.format(self.name,self.area)



class House:
    # 定义房子类
    def __init__(self,house_type,area):
        self.house_type = house_type
        self.area = area
        self.free_area = area   # 定义空余面积
        self.item_list = []    #储存家具列表
    def __str__(self):
        return '户型{}\n总面积{}剩余{}\n家具{}'.format(self.house_type,self.area,self.free_area,self.item_list)
    def add_item(self,item): # item家具类
        print('要添加{}'.format(item))
        if item.area > self.free_area:#判断家具面积与房子剩余面积大小
            print('家具面积太大,无法添加')
            return
        self.item_list.append(item.name)
        self.free_area -= item.area
    def one_none(self): #
        self.free_area = 60


bed = HouseItem('席梦思',4)#定义几个家具对象 用家具类
chest = HouseItem('衣柜',2)
table = HouseItem('餐桌',1.5)
hahaha = HouseItem('电脑桌',60)

myhome = House('两室一厅',60)#定义一个房子对象 用房子类

myhome.add_item(bed)#对房子进行一些操作 操作方法是房子类里面定义的
myhome.add_item(chest)
myhome.add_item(table)
myhome.add_item(hahaha)
print(myhome)
print(myhome.free_area)
myhome.one_none()
'''可以把类中的函数当成自己设计的函数 只有在引用的时候才调用 而且只对由这个类所创建的对象使用除了init 和str
                   #是赋给对象的时候就执行的 其他的函数在创建对象的时候并不执行
-------------------------------------hahaha.add_item(bed)是错误的 应为hahaha是家具类不能用房子类里面的函数-----
          myhome.__init__()可以更改对象的初始属性值 但是这跟重新创建一个新的对象一样感觉'''
print(myhome.free_area)


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值