如果封装太低,怎么会得到不必要的紧耦合

时间:2012-05-18 15:07:49

标签: java encapsulation tightly-coupled-code

如果我的代码中包含低封装,我似乎无法抓住“紧耦合”的概念。

有人请展示一些说明这个概念的“之前”和“之后”代码吗?

2 个答案:

答案 0 :(得分:2)

如果您没有封装您的字段而其他应该是私有成员,则可以直接从其他类访问它们。如果访问的项与实现有关,则更改实现会触发在引用它的任何位置更改代码的需要。

例如,如果你有一个代表日期的类,你从年,月,日表示切换到毫秒表示(以及实际将其转换为人类可读格式的方法),如果字段被暴露,那么这将导致麻烦。

答案 1 :(得分:2)

低封装允许紧耦合。

Encapsulation保护类的实现细节免受外部访问。外部访问是耦合。耦合到实现细节比耦合到公共API更紧密 - 代码的各个部分之间有更多的连接要写,理解和管理。