Java 对象创建时,为什么要做访问控制?

2019-07-07  本文已影响0人  后山野鹤

每一个程序,都是由不同的对象(服务提供者)构成的,类的创建者和类的使用者可能是同一个人,也可能不是同一个人。大部分时候,不是同一个人。

原因1 让类的使用者无法触及他们不应该触及的部分

每个类的数据,并不是都需要对外暴露的,类的部分数据类型的内部操作,对类的使用者来说不是必需的,类的使用者关心的是使用类的某些服务,当把所有数据都暴露出来后,反而增加了使用过程中的风险,因为类的使用者可以任意的修改数据,很容易导致程序出错和不稳定

原因2 类的创建者可以改变类的内部的工作方式而不用担心会影响到类的使用者

每个类都是在程序的版本迭代过程中,都是在不断改变的,在类修改时,应尽量减少对类的使用者的影响。例如,你可能为了快速的开发任务而以某种简单的方式实现了某个特定类,但在使用过程中,你发现你必须做出修改才能使类运行的更快,效率更高,如果类的初始设计时,做了访问控制,只暴露了类的必要的接口,这时候,你只需要修改类的内部实现方式,在不影响类的使用者的情况下,达到你修改类的目的

上一篇下一篇

猜你喜欢

热点阅读