類之間的關係
首先從類之間的關係上包含:繼承、依賴和關聯
- 依賴(user-a): a 操縱 b 的對象稱爲 a 依賴於 b ,減少依賴就意味着降低類之間的耦合
- 關聯(has-a):類 a 的對象包含類 b 的對象,也可以理解爲關聯
- 繼承(is-a):繼承另一個類的功能,並增加新的功能
依賴和關聯
依賴和關聯的區別在於一個是操作b 對象, 一個是包含 b 對象。
// 依賴
Class A {
// A 類中的方法參數爲 B類 型
use(B b);
}
// 關聯
Class A{
// B 類 作爲 A 類的域
B b;
}
依賴: A 在使用 B 的時候這種關係是臨時的,類似於,人用勺子喝湯,這時候人和勺子就是依賴;而在代碼中體現爲 A 中 use() 方法調用了B 作爲參數。依賴的優勢在於可以減少耦合度。
關聯:關聯相較於依賴而言關係更強,一般是長期的,關聯不像依賴是單方面的調用,關聯可以是雙向的。比方說,
類型 | 關係 | 方向 |
---|---|---|
關聯 | 強 | 雙向/單向 |
依賴 | 弱 | 單向 |
如果覺得我的文章不錯的話,可以關注一下我的微信公衆號 搜索“ Fenmu”,或者掃一掃下面的二維碼