關聯、組合、聚合、依賴關係比較

 

 
轉載自:http://blog.csdn.net/maybehelios/article/details/2038685

類之間的關係ios

1. 種類: Generalization(泛化),Dependency(依賴關係)、Association(關聯關係)、Aggregation(聚合關係)、Composition(合成關係)。函數

2.  其中Aggregation(聚合關係)、Composition(合成關係)屬於Association(關聯關係),是特殊的Association關聯關係。spa

3.  Generalization(泛化)表現爲繼承或實現關係(is a)。具體形式爲類與類之間的繼承關係,接口與接口之間的繼承關係,類對接口的實現關係。.net

  

       實現(realization)關係指的是一個class類實現interface接口(能夠是多個)的功能;實現是類與接口之間最多見的關係對象

  

4.  Association關聯關係表現爲變量(has a )。類與類之間的聯接,它使一個類知道另外一個類的屬性和方法。例如若是A依賴於B,則B體現爲A的全局變量。關聯關係有雙向關聯和單向關聯。雙向關聯:兩個類都知道另外一個類的公共屬性和操做。單向關聯:只有一個類知道另一個類的公共屬性和操做。大多數關聯應該是單向的,單向關係更容易創建和維護,有助於尋找可服用的類。blog

     

 

5.  Aggregation(聚合關係) 是關聯關係的一種,是強的關聯關係。聚合關係是總體和個體的關係。普通關聯關係的兩個類處於同一層次上,而聚合關係的兩個類處於不一樣的層次,一個是總體,一個是部分。同時,是一種弱的「擁有」關係。體現的是A對象能夠包含B對象,但B對象不是A對象的組成部分。具體表現爲,若是A由B聚合成,表現爲A包含有B的全局對象,可是B對象能夠不在A建立的時刻建立。繼承

 

 

 

6.  Composition(組合關係)是關聯關係的一種,是比聚合關係強的關係。它要求普通的聚合關係中表明總體的對象負責表明部分的對象的生命週期。Composition(組合關係)是一種強的「擁有」關係,體現了嚴格的部分和總體的關係,部分和總體的生命週期一致。若是A由B組成,表現爲A包含有B的全局對象,而且B對象在A建立的時刻建立。接口

 

7.  Dependency(依賴關係)表現爲函數中的參數(use a)。是類與類之間的鏈接,表示一個類依賴於另外一個類的定義,其中一個類的變化將影響另一個類。例如若是A依賴於B,則B體現爲局部變量,方法的參數、或靜態方法的調用。生命週期

 

相關文章
相關標籤/搜索