c语言引发了异常: 写入访问权限冲突。_#ThinkinginJava#深入思考(7·访问权限控制)...

40c2774d6f2ea95bbd839e8ce0fa535a.png

据估计,用C语言开发的项目,在5w-10w行代码之间就会出现问题。这是因为C语言仅有单一的“名字空间”,并且名称开始发生冲突,引发额外的管理开销。而对于Java,关键字package、包的命名模式和关键字import,可以使你对名称进行完全的控制,因名称的问题是很容易避免的。

本章讨论了类是如何被构建成类库的:首先,介绍了一组类是如何被打包到一个类库中的;其次,类是如何控制对其成员的访问的。

控制对成员的访问权限有两个原因:

1.为了是用户不要触碰那些他们不该触碰的部分,这些部分对于类内部的操作时必要的,但是它并不属于客户端程序员所需接口的一部分。因此,将方法和域指定成private,对客户端程序员而言是一种服务。因为这样他们可以很清楚的看到什么对他们重要,什么是他们可以忽略的。这样简化了他们对类的理解。
2.为了让类库设计者可以更改类的内部工作方式,而不必担心这样会对客户端程序员产生重大影响。例如,最初可能会以某种方式创建一个类,然后发现如果更改程序结构,可以大大提高运行速度。如果接口和实现可以被明确的隔离和加以保护,那么就可以实现这一目的,而不必强制客户端程序员重写代码。访问权限控制可以确保不会有任何客户端程序员依赖于某个类底层实现的任何部分。

当具备改变底层实施细节的能力时,不仅可以随意的改善设计,还可能会随意的犯错误。无论如何细心的计划并设计,都有可能犯错。当了解到你所犯错误是相对安全的时候,就可以更放心的进行实验,也就可以更快的学会,更快的完成项目。

类的公共接口是用户真正能够看到的,所以这一部分在分析和设计的过程中决定该类是否正确的最重要的部分。尽管如此,你仍然有进行改变的空间。如果在最初无法创建出正确的接口,那么只要不删除任何客户端程序员在他们的程序中已经用到的东西,就可以在以后添加更多的方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值