关于封装的简易版理解

封装

        封装是面向对象编程三大特征之一,还有继承与多态。封装的作用是当我们拿到一个需求后,如何正确设计对象的属性与方法。当需要设计一个“人”类的时候需要人的姓名,年龄属性吃饭睡觉方法。如下

        但在实际开发中需求不会这么简单举个比较通俗的例子,比如人画圆

         就需要定义一个people类,和一个circlecle类。

         而画即为一个draw方法。那现在问题就是画这个方法应该属于哪一个人和圆哪一个类中,按照现实逻辑大多数人会认为属于人,但在 编程思维里他其实是属于圆,要想画圆需要圆的半径,这里圆类需要封装一些圆的属性比如半径,所以这里就得提供相应的画圆方法。所以画圆这个方法属于圆对象。一句话解释:人画圆,圆不是人画的而是调用了圆的画方法。并根据圆的半径属性画出了圆。

        再举几个形象的例子就是人关门,门并不是人关的,实际上人只是轻轻推了一下门,给了门一个作用力。在面向对象思维里城思维里人只是调用了门的关门方法。这样的好处就是换一个对象比如动物,照样可以调用门的关门方法,照样可以关门。

 

张三砍死了李四,法律判决是这样说的:张三持刀行凶,造成了李四的死亡后果。你细品一下。所以李四不是张三杀死的,是自己死的。张三只是调用了李四的死亡方法。

 

        最后总结一句话封装的原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值