封装属性_方法、属性:我要出去!|类:不,你们已被我封装了!(第35天)

封装 是面向对象编程的一大特点。

面向对象编程的 第一步,就是将 属性 和方法 封装 到一个抽象的 类 中(之所以说抽象,因为 类 是无法直接使用的)。

然后 外界 使用 类 创建 对象,让对象调用方法就好了。

对象方法的细节 都被 封装 在 类的内部。

67a448b9a887abecca724da9ff318d54.png

17集,小明爱跑步:封装特性和需求分析

需求:小明 体重 75.0 公斤;小明每次跑步 会减肥 0.5 公斤;小明每次 吃东西 体重增加 1公斤。

这个案例,我感受到了对小明深深的恶意,感觉小明这辈子是减不下去了。

我要是小明,我就报警了!

第一步,使用名词提炼法,将需求中的名词提炼出来,可以定义人类,并确定名字和体重两个属性。

动词:吃、跑步,就可以出现两个方法 吃 和跑。

这样,类名、属性、方法,均已确定完毕。

e376ded6d1a785dc27dfcc8a64d8eb5e.png

18集,案例完成

在 类 中,先使用 init 方法进行初始化,并使用 str。

接着,定义两个方法 run 和 eat ,可以先使用 pass 语句,待之后再进行补充。

71b80b40ac178dadaad50b0d00f6a25c.png

封装 完毕,定义对象就很轻松了。

cdd54b07d7cf5f264d30443b7ac7d6be.png

可见,面向对象的编程方法,主要功夫都是在 类 里面了。

在 对象的方法内部,是可以 直接访问对象的属性 的。

19集,多个对象属性之间互不干扰

需求:小明 和 小美 都爱跑步;小明 体重 75.0 公斤;小美 体重 45.0 公斤;每次跑步 都会减少 0.5公斤;每次 吃东西 都会增加 1 公斤。

这种时候就看出面向对象很轻松了,完全都不用搭理 类 里面的事情,直接定义 对象 就可以了。

c2bf6790650ec974ed6d6bc97a259aeb.png

提示:在 对象的方法内部,是可以 直接访问对象的属性 的;同一个类 创建的 多个对象 之间,属性 互不干扰!

20集,摆放家具:需求分析,被使用的类应该先开发

需求:房子 有 户型、总面积 和 家具名称列表;

家具 有 名字 和 占地面积,其中 席梦思 占地 4 平米、衣柜 占地 2平米、餐桌 占地 1.5平米。

将以上三件 家具 添加 到 房子 中。

打印房子时,要求输出:户型、 总面积、剩余面积、家具名称列表。

经分析发现,需要定义两个类,一个 家具 类,一个 房子 类。

2910121989b301acc627615c198b0e3d.png

而两个 类 中,显然应该先开发 家具类,不只是因为 家具 简单,更重要的是 房子要使用到家具,被使用的类,通常应该先开发。

这个案例明显比上一个要难不少,尤其是还涉及到两个类,应该是需要好好消化一下的。

纯赶进度毫无意义,就像有的小伙伴提醒我的:不要过于在意一天看了多少集。

今天事情有点多,后面需要消化的内容还是留到明天吧。

e23d0b0b7c850ca59895670cccb30565.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值