依賴和關聯

類之間的關係

首先從類之間的關係上包含:繼承、依賴和關聯

  • 依賴(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”,或者掃一掃下面的二維碼

Fenmu

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章