软件设计原则之一 :信息隐藏(information hiding)或者封装(encapsulation)

本文探讨了软件设计原则中的信息隐藏(封装)概念,指出其能降低模块间的耦合,提高可重用性和软件维护性。封装通过限制类和成员的访问级别,如私有、包级私有、受保护和公共,来实现模块的独立性。数组的不变性问题也被提及,展示了如何避免暴露可变数组以防止安全漏洞。
摘要由CSDN通过智能技术生成
模块之间通过他们的api通信,一个模块不需要知道另外一个模块的内部情况,这就被称为信息隐藏或封装。
请问为什么需要封装?
答:需要封装的原因很多,其中大多数的原因都源于这么一个事实:你可以有效的解除组成系统个模块之间的耦合关系,使这些模块可以独立开发,测试,优化,修改,理解,这样可以加快系统开发的速度,因为这些模块可以并行开发。它也减轻了维护的负担,因为我们可以更快点的理解这些模块,并在调用的时候不影响其他模块。
封装提高了软件的可重用性,因为模块之间不紧密相连,最后封装也降低了构建大型系统的风险,即使整个系统不可用,但是这些模块可能是有用的。

使类和成员的可访问性最小化

对于顶层的类或接口,只有两种可能访问的级别:包级私有的(package private)和公有的(public),如果你使用了public修饰顶层类或接口,那它就是公有的;否则它就是包级私有的,通过把类或接口设计成包级私有的,它实际上成了这个包实现的一部分,在以后的版本重,可以对它进行修改,替换,或者删除,而无需担心会影响到现有客户端程序。如果你把它设计成public,你就有责任永远支持它,以保持他们的兼容性。
对于成员(域、方法、嵌套类和接口)有四种可能的访问级别,下面按照可访问性的递增顺序罗列出来:
:) 私有的:只有在声明该成员的顶层类的内部才可以访问这个成员。
:) 包级私有的:声明该成员的包内部的任何类都可以访问这个成员。它被成为缺省࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值