如何设计一个类——使类与成员的可访问性最小

简介

如何区别一个模块写的好不好,有个明显的标志,那就是该模块对于其他模块是否较好的隐藏了内部数据和实现细节。这个概念叫信息隐藏,或者是封装。

原因

通过信息隐藏可以解耦合,使得独立的模块可以更好的开发,测试,修改等。而不用担心别的模块对其的不必要的依赖。

实现方法

通过调节模块的访问级别来实现。

具体举例

要始终秉持着降低访问级别的标准。
对于顶层的类和接口,只有两种可能的访问级别:包私有的和共有的。如果一个类或接口可以被做成包级私有,那么就应该被作成包级别私有,通过这种处理,这个类成了这个包的实现部分,而不是api的部分,这样你就可以安心的对它进行修改,替换,删除等,而不需顾及客户端的感受。
对于一个包级私有顶层类只是被一个类的内部用到,就应该考虑它成为那个使用它的类的内部私有嵌套类。
对于一个共有类,永远不要提供公有的可变域,可开放访问方法来访问。因为这样等同于你放弃了强制使则个域不可变的能力。同时,这个域被 修改时,你也失去了采取任何行动的能力

发布了16 篇原创文章 · 获赞 8 · 访问量 8493

猜你喜欢

转载自blog.csdn.net/qq_34637782/article/details/80990971