当前位置: 首页 > news >正文

Python_封装案例

文章目录

  • 一、封装
  • 二、封装案例一:小明爱跑步
  • 三、封装案例二:摆放家具


一、封装

  1. 封装是面向对象编程的一大特点
  2. 面向对象编程的第一步 —— 将属性方法封装到一个抽象的
  3. 外界使用类创建对象,然后让对象调用方法
  4. 对象方法的细节都被封装在类的内部

二、封装案例一:小明爱跑步

需求:

  1. 小明体重 75.0 公斤
  2. 小明每次跑步会减肥 0.5 公斤
  3. 小明每次吃东西体重增加 1 公斤

分析:

  1. 类名:Person
  2. 属性:姓名 name,体重 weight
  3. 方法:
    跑步 run
    吃东西 eat
    添加属性 __init__
    属性信息 __str__
class Person:def __init__(self, name, weight):self.name = nameself.weight = weightdef __str__(self):return f'姓名:{self.name},体重:{self.weight}'def run(self):print(f'{self.name}跑步 5 千米,体重减少了')self.weight -= 0.5def eat(self):print(f'{self.name}大餐一顿,体重增加了')self.weight += 1XiaoMing = Person('XiaoMing', 75.0)
print(XiaoMing)XiaoMing.run()
print(XiaoMing)
XiaoMing.eat()
print(XiaoMing)

结果:

姓名:XiaoMing,体重:75.0
XiaoMing跑步 5 千米,体重减少了
姓名:XiaoMing,体重:74.5
XiaoMing大餐一顿,体重增加了
姓名:XiaoMing,体重:75.5

三、封装案例二:摆放家具

需求:

  1. 房子(House)有户型、总面积和家具名称列表
    • 新房子没有任何的家具。
  2. 家具(HouseItem)有名字和占地面积,其中
    • 席梦思(bed)占地 4 平米
    • 衣柜(chest)占地 2 平米
    • 餐桌(table)占地 1.5 平米
  3. 将以上三件家具添加到房子
  4. 打印房子时,要求输出:户型、总面积、剩余面积、家具名称列表

剩余面积

  1. 在创建房子对象时,定义一个剩余面积的属性,初始值和总面积相等
  2. 当调用add_item方法,向房间添加家具时,让剩余面积=家具面积
  • 类名:房子类 House
  • 属性:
    户型 name,总面积 total_area
    剩余面积free_area = total_are
    家具名称列表 item_list = []
  • 方法:__init____str__
  • 添加家具方法:add_item()

类名:家具类 HouseItem
属性:名字 name,占地面积 area
方法:__init____str__

class HouseItem:'''家具类'''def __init__(self,name,area):self.name = nameself.area = areadef __str__(self):return f'家具:{self.name},占地面积:{self.area}平米'class House:'''房子类'''def __init__(self,name,total_area):self.name = nameself.total_area = total_areaself.free_area = total_areaself.item_list = []def add_item(self,item):'''添加家具方法''''''检查剩余面积是否足够放置家具'''if self.free_area >= item.area:self.item_list.append(item.name)self.free_area -= item.areaprint(f'已添加{item.name},当前剩余面积{self.free_area}平米')else:print(f'剩余面积不足,无法添加{item.name}')def __str__(self):return (f'房子信息\n'f'户型:{self.name}\n'f'总面积:{self.total_area}\n'f'剩余面积:{self.free_area}\n'f'家具列表:{self.item_list}')# 创建三件家具
bed = HouseItem('席梦思',4)
chest = HouseItem('衣柜',2)
table = HouseItem('餐桌',1.5)# 创建房子(假设是两居室,总面积10平米)
house = House('两居室',10)# 添加家具到房子中
house.add_item(bed)
house.add_item(chest)
house.add_item(table)# 打印房子信息
print('\n'+house.__str__())

结果:

已添加席梦思,当前剩余面积6平米
已添加衣柜,当前剩余面积4平米
已添加餐桌,当前剩余面积2.5平米房子信息
户型:两居室
总面积:10
剩余面积:2.5
家具列表:['席梦思', '衣柜', '餐桌']
http://www.dtcms.com/a/516927.html

相关文章:

  • 查找5个搜索引擎作弊的网站普通网站建设的缺陷
  • 卫浴网站模板获取网站开发语言
  • 网站的盈利点企业建站的作用是什么
  • 哪里有网站建设培训班二级a做爰片免费网站
  • kmp需要技能
  • 大岭山网站仿做杭州家装口碑比较好的公司
  • 【Pycharm】Debug展示完整Tensor
  • [iOS] 计算器仿写
  • 北京专业网站制作公司家在深圳龙光城
  • Blender学习-基础移动
  • wordpress的文章采集湖北优化网站建设
  • 如何做防水网站电子商务电商网站设计
  • 宁波建网站哪家wordpress调用昵称
  • 深入理解 C++ 红黑树:平衡二叉搜索树的理论精髓​
  • 手机网站建设计中国建筑人才网官网登录
  • rust python 混合编程注意点
  • 做正品的网站申请个人网站有什么用
  • 潍坊网页网站制作怎么做的网站收录快
  • 江象网站建设成都网站建设优化推
  • Elasticsearch从入门到进阶——Elasticsearch部署与使用
  • 嵌入式软件架构--按键消息队列3(测试)
  • 淘宝导购网站模版上海城隍庙简介
  • 怎么建立企业网站免费的软件项目管理方案
  • 工作流activiti(1)
  • 合泰单片机之点亮开发板的所有LED灯
  • 找不到mfc140d.dll文件
  • Dexmal 原力灵机开源 Dexbotic:具身智能的“Transformers“库来了
  • 毕设做网站有什么题目网络规划设计师攻略
  • 【avalonia教程】15Binding的其他属性(2)
  • 企业网站作用平湖手机网站建设