如果我的代码中包含低封装,我似乎无法抓住“紧耦合”的概念。
有人请展示一些说明这个概念的“之前”和“之后”代码吗?
答案 0 :(得分:2)
如果您没有封装您的字段而其他应该是私有成员,则可以直接从其他类访问它们。如果访问的项与实现有关,则更改实现会触发在引用它的任何位置更改代码的需要。
例如,如果你有一个代表日期的类,你从年,月,日表示切换到毫秒表示(以及实际将其转换为人类可读格式的方法),如果字段被暴露,那么这将导致麻烦。
答案 1 :(得分:2)
低封装允许紧耦合。
Encapsulation保护类的实现细节免受外部访问。外部访问是耦合。耦合到实现细节比耦合到公共API更紧密 - 代码的各个部分之间有更多的连接要写,理解和管理。