在任何相互关系中,具有关系所涉及的各方都遵守的边界是十分重要的事情。当创建一个类时就创建了与客户端程序员之间的关系,他们同样也是程序员,他们使用你的类库来创建应用、或者构建更大的类库的程序员。如果所有的类成员对任何人都是可用的,那么客户端程序员就可以对类做任何事情不受约束。如果没有访问控制,将无法阻止此事发生。
1、让客户端程序员无法触及他们不应该触及的部分--但这些部分对数据类型的内部操作来说是必须的但不是用户解决特定问题所需的接口的一部分。
2、允许库设计者可以改变类内部的工作方式而不用担心会影响到客户端程序员。如果接口和实现可以清晰地分离并得以保护,就可以轻易地完成这项工作。
|