uml四大關係中,包括:泛化,實現,關聯,依賴。
泛化就是我們在物件導向中提到的繼承,而實現則更多的體現在類和介面之間的關係。
關聯和依賴相對於上邊兩個關係,則表現的不是很容易理解,所以我們今天來深入學習一下。
它表示類與類之間的連線,它使得乙個類知道另乙個類的屬性和方法。
關聯可以用單向箭頭表示單向關聯,使用雙箭頭表示雙向關聯(不建議)。
關聯是類與類,類與介面之間的一種比較強烈的關係,它不是臨時性的,而是長期性的。
**體現:
1.b作為a的屬性出現在了a中
2.關聯類a引用了被關聯類b的全域性變數
它的兩個特例:
1.聚合:空心菱形箭頭
它也是關聯關係的乙個特例(has-a),但是此時整體和部分是分離的,有各自的宣告週期。
**體現:通過例項變數來體現
2.組合:實心菱形箭頭
是關聯關係的乙個特例(contain-a),比聚合關係更強,它和聚合最大的區別就是:整體和部分是不可分的(就好比人和氧氣一樣!)
**體現:它的體現在**段和聚合並沒有很大的區別,唯一的區別就是:部分和整體的宣告週期是一致的。
它表示類與類之間的連線,表示乙個類依賴於另外乙個類的定義,方向是單向的。(可以簡單理解為:我吃飯用到筷子,所以在吃飯這件事上,我依賴於筷子,但是我不吃飯我就不依賴於它了!)
它具有偶然性,臨時性,而且這種關係非常弱。但是類b(筷子)的變化會影響類a(我)。(如果沒有筷子,我吃飯就會受到影響)
表示方法:虛線箭頭
它分為四種:
1.精化
2.跟蹤
3.包含
4.延伸
**體現:
1.a方法的引數是b(耦合)
2.a方法的引數是b的屬性(緊耦合)
3.a方法中例項化了b
4.a方法的返回值是b
關係強弱排序:組合》聚合》關聯》依賴
雖然知識點不是很多,但是博主感覺都是挺重要的點。
想要深入的理解這種關係,我們還是要多去實踐,在**中體會它們的異同,紙上學來終覺淺,絕知此事要躬行!加油!
UML 再議依賴和關聯關係
從前幾天師哥師姐們的合作版機房驗收,就能看出uml圖的重要性。在驗收的現場大家更是對七層架構的包圖中的關係產生了很大的爭議。其實這一切都 於對uml的不熟悉,再加上自己正處於個人版機房重構的階段,所以對uml進行再次學習,這一次還是先以四種關係為主。依賴關係是一種使用關係,動物和水的關係。但是在上述...
UML中關聯關係和依賴關係的區別
uml中關聯 association 關係和依賴關係比較難以讓人理解。今天查了一下 uml參考手冊 歸納如下 關聯 association 如果幾個類元的例項之間有聯絡,那麼這幾個類元之間的語義關係即關聯。關聯描述了系統中物件或例項之間的離散連線。關聯將乙個含有兩個或多個有序表的類元,在允許複製的情...
UML類關係 依賴 關聯 聚合 組合
1,依賴關係 dependency 單向,表示乙個類依賴於另乙個類的定義,其中乙個類的變化將影響另外乙個類,是一種 use a 關係 如果a依賴於b,則b表現為a的區域性變數,方法引數,靜態方法呼叫等 public class person public class person public cl...