2012-05-18 22 views

回答

2

如果你不封裝你的領域,其他人應該是私人成員,他們可能直接從其他類訪問。如果所訪問的項目與實現相關,那麼更改實現會觸發需要更改所引用的任何位置的代碼。

例如,如果您有一個表示日期的類,並且您從年,月,日表示法切換爲毫秒錶示形式(以及實際將其轉換爲人類可讀格式的方法),如果字段被暴露,則這將造成麻煩。

2

低封裝允許緊耦合。

封裝保護外部訪問類的實現細節。外部訪問是耦合。耦合到實現細節比耦合到公共API更緊 - 代碼的各個部分之間有更多的連接要寫入,理解和管理。