Java封装特性的小谈 ——封装基于抽象,封装的本质在于属性

       封装,就是基于对一个事物的抽象分析、概念分离,把它本质的或者抽象者所关注的属性点,收集到我们所说的类Class中。属性的访问权限如何,取决于Class的使用场景。但,一般为私有private,通过相关方法的定义及设计(如set、get等)为外部访问类提供可访问操作的接口。

       封装基于抽象,封装的本质在于属性点。有人或许说方法的封装才是本质所在。但,方法的作用是什么,不是在设计逻辑上对属性点的修改?方法可比一个人的动作行为,而属性可比人的器官等——没有眼睛,那你张不张开眼皮有什么区别?

       封装的特性有很大的价值,“高内聚性”就是一个体现、“单一职责原则”是一个设计要求……

       昨天看到一个这样的介绍:

       在Java Web上,访问网站时,一般要考虑cookie的设计。可能一开始,会在一个Servlet上实现一个创建Cookie,并加密数据的方法。往后在用户访问系统资源前,先通过一个Filter对Cookie的信息进行解密验证,即在该Filter上实现一个解密Cookie的方法。如下:

       这可以实现我们的目的,但,不是优雅的设计。

       因为它更是一个面向过程的设计方法。其引发的问题是,在维护这一个cookie上,要实现的跨度是很大的,并没有内聚的。为什么我们不把关于Cookie的属性,方法封装到一个类中呢?如下:


       这,可以对比上述设计方法了吧。

       所以,封装的特性及应用,要理解运用好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值