2020-11-25

Python面向对象封装方法实例演示

定义一个家具类,包括家具的名字和占地面积

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

    def __str__(self):
        return "[%s] 占地 %.2f" % (self.name,self.area)

bed = HouseItem("席梦思", 4)
chest = HouseItem("衣柜", 2)
table = HouseItem("桌子", 100)
print(bed)
print(table)
print(chest)

定义一个房子类,包括初始化方法,可添加家具的类型和占地面积

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 ("户型: %s\n总面积:%.2f[剩余:%.2f]\n家具:%s"
               % (self.house_type,self.area,
                  self.free_area,self.item_list))
    def add_item(self, item):
        print("要添加 %s" % item)
        # 判断家具的面积
        if item.area >self.free_area:
            print("%s 的面积太大了,无法添加"%item.name)
        # 添加家具
        else:

            self.item_list.append(item.name)
            # 计算剩余面积
            self.area -= item.area

创建房子对象并添加家具

my_hosue = House("两室一厅", 80)
print(my_hosue)


my_hosue.add_item(bed)
my_hosue.add_item(table)
my_hosue.add_item(chest)
print(my_hosue

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值