关于封装的思考

问题描述

当我在软件构造课上听到封装的方法的概念时,对此并没很深入的理解,仅仅只是了解了这个概念。但是,在第三次实验中,随着实践的深入,我对于封装有更深入的思考 。

封装使你做好准备去改变

在软件构造实验三中,有一个步骤是变化,也就是说需要改变你的代码,以满足新## 标题要求。当我分析代码时候,我发现我只需要改变ADT实现接口的方法即可,也就是说我只需要改变ADT,客户端并不需改变任何代码即可。
之所以不需要改变客户端,是因为我并没有将ADT的内部方法实现暴露给客观端,因此我只需要改变ADT实现接口。封装使得我们的内部具体实现不会暴露,因此更好地ReadyForChange。

封装使得你的代码更安全

软件构造最重要的就是确保代码安全,也就是safe from rep exposuer。当我们封装数据后,我们的rep都是private final,所有返回的集合都是Unmodified类的,因此我们没有后顾之忧,担心数据被客户端改变。

封装是面向对象语言给我们的馈赠

正是因为Java是面向对象的语言,因此它天生就适合数据封装。类似C等面向过程的语言,只能使用static等关键字隐藏数据,较麻烦。因此,这也是我们理解面向对象Java语言的重要一点。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值