美文网首页Python
面向对象的案例(摆放家具)

面向对象的案例(摆放家具)

作者: 马路仔 | 来源:发表于2019-07-01 23:14 被阅读50次

需求
1.房子(House)有户型、总面积和家具名称列表
新房子没有任何的家具

2.家具(HouseItem)有名字和占地面积,其中
席梦思(bed)占地4平米
衣柜(chest)占地2平米
餐桌(table)占地1.5平米

3.将以上三件家具添加到房子中
4.打印房子时,要求输出:户型、总面积、剩余面积、家具名称列表

HouseItem
naem、area
_ init_(self,name,area):、 _str _(self):
HouseItem
house_type、area、free_area、item_list
_ init_(self,house_type,area):、 _str _(self):、 add_item(self,item)

剩余面积
1、在创建房子对象时,定义一个 剩余面积的属性、初始值和总面积相等
2、当调用 add_item() 方法,向房间添加家具时,让剩余面积 -= 家具面积

思考应该先开发哪一类?
应该先家具类
1.家具简单
2.房子要使用到家具,被使用的类,通常应该先开发

class HouseItem:
    def __init__(self, name, area):
        self.name = name
        self.area = area
    def __str__(self):
        return "[%s] 占地 %.2f" % (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):
        #Python 能够自动的将一对括号内部的代码连接在一起
        return ("户型:%s\n总面积:%.2f[剩余:%2.f]\n家具:%s"
                %(self.house_type,self.area,
                  self.free_area,self.item_list))

    def add_item(self,item):
        print("要添加 %s" % item)
        #1.判断家具的面积
        if item.area > self.free_area:
            print("%s 的面积太大了,无法添加" % item.name)

            return

        #2.将家具的名称添加到列表中
        self.item_list.append(item.name)

        #3.计算剩余面积
        self.free_area -= item.area



#1.创建家具
bed = HouseItem("席梦思",40)
chest =HouseItem("衣柜",2)
table = HouseItem("餐桌",4)

print(bed)
print(chest)
print(table)

#2.创建房子对象
my_home = House("两室一厅", 60)

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

运行结果


image.png

相关文章

  • 面向对象的案例(摆放家具)

    需求1.房子(House)有户型、总面积和家具名称列表新房子没有任何的家具 2.家具(HouseItem)有名字和...

  • python 面向对象封装案例

    面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 ...

  • 14.Python对象封装

    面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 ...

  • 「Python」面向对象封装案例2——摆放家具(需求分析、示例代

    上一篇文章已经有一个面向对象分装案例了叫“小夏爱跑步”,相对这个摆放家具案例是非常简单的,知识点是回顾初始化方法i...

  • 博学谷第十一天

    时间:2020年1月6日内容:面向对象基础、烤地瓜案例、搬家具 面向对象基础 定义 面向对象是将编程当成是一个事物...

  • 0723

    01面向对象和面向过程的思想 02面向对象的思想的生活案例 03面向对象好处 04大象装进冰箱的代码案例 05定义...

  • python 面向对象封装案例 II

    面向对象封装案例 II 目标 士兵突击案例 身份运算符 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一...

  • 面向对象上

    面向对象上 两种思想:面向对象 面向过程 案例:面向过程:强调行为,函数最小单位,考虑怎么做 面向对象三大特征:封...

  • Python面向对象设计

    一、面向对象思想 1.面向对象思想设计 基于哲学观点:万物皆对象举例说明:案例一:我想吃大盘鸡面向过程 ...

  • 10-Python对象

    一、面向对象思想 1.面向对象思想设计 基于哲学观点:万物皆对象 举例说明: 案例一:我想吃大盘鸡 面向过程 ...

网友评论

    本文标题:面向对象的案例(摆放家具)

    本文链接:https://www.haomeiwen.com/subject/bnsocctx.html