阅读本文约“1.2分钟”


“老王忘记把他的猫封装起来,后来他的猫被压平了......”

这是一个程序界的鬼故事,你忘记对你的数据进行封装,那么有一天也会被人处理掉了。

创建Getter和Setter给所有的实例变量,并寻求某种方法强制其他程序都必须通过Setter来设定变量而不是直接的存取。

也就是封装,其会对我们的实例变量加上绝对领域,因此没有人能够恶搞我们的变量。

且大部分的实例变量值都有一个适当的范围,比如身高就不能是负数,佛敲墙也不能3分钟就做完。

强波其他程序一定要经过Setter,如此Setter就能够检查参数并判断是否可以执行。setter可以退回不合理的值,或是抛出Exception、或者自己进行小数点的动作,重点是你可以在setter中执行任何动作,但是如果直接暴露实体变量就没有办法了。

当然你会说大部分的setter其中也是没有什么逻辑代码的,其实与getter一样,其好处是你事后可以改变想法却不会需要改变其他部分的程序。

封装的优点就是能够让你三心二意却又不会伤害别人,直接存储变量的效率是比不上这个好处的。

理性的说明下,隐藏数据既使用公有和私有这两个存取修饰符,将实例变量标记为private。将getter和setter标记为public。

当然获取你某天有了足够的java设计与编写经验后,你会有新的做法,但是现在还是继续使用这种维持安全的方式把。


本文已转载个人技术公众号:UncleCatMySelf
欢迎留言讨论与点赞
上一篇推荐:【Java猫说】关于Java方法及传参的一些问题
下一篇推荐:


Java猫说
1.3k 声望930 粉丝

现架构设计(码农)兼创业技术顾问,不羁平庸,热爱开源,杂谈程序人生与不定期干货。