原位址:
類之間的關係
1. 種類: generalization(泛化),dependency(依賴關係)、association(關聯關係)、aggregation(聚合關係)、composition(合成關係)。
2. 其中aggregation(聚合關係)、composition(合成關係)屬於association(關聯關係),是特殊的association關聯關係。
3. generalization(泛化)表現為繼承或實現關係(is a)。具體形式為類與類之間的繼承關係,介面與介面之間的繼承關係,類對介面的實現關係。
4. association(關聯關係)表現為變數(has a )。類與類之間的聯接,它使乙個類知道另乙個類的屬性和方法。例如如果a依賴於b,則b體現為a的全域性變數。關聯關係有雙向關聯和單向關聯。雙向關聯:兩個類都知道另乙個類的公共屬性和操作。單向關聯:只有乙個類知道另外乙個類的公共屬性和操作。大多數關聯應該是單向的,單向關係更容易建立和維護,有助於尋找可服用的類。
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體現為區域性變數,方法的引數、或靜態方法的呼叫。
關聯 組合 聚合 依賴關係比較
類之間的關係 1 種類 generalization 泛化 dependency 依賴關係 association 關聯關係 aggregation 聚合關係 composition 合成關係 2 其中aggregation 聚合關係 composition 合成關係 屬於association 關...
關聯 組合 聚合 依賴關係比較
類之間的關係 1 種類 generalization 泛化 dependency 依賴關係 association 關聯關係 aggregation 聚合關係 composition 合成關係 2 其中aggregation 聚合關係 composition 合成關係 屬於association 關...
關聯 組合 聚合 依賴關係比較
類之間的關係 1 種類 generalization 泛化 dependency 依賴關係 association 關聯關係 aggregation 聚合關係 composition 合成關係 2 其中aggregation 聚合關係 composition 合成關係 屬於association 關...