JAVA溫習:UML圖中類之間的關係:依賴,泛化,關聯,聚合,組合,實現

原文:http://blog.csdn.net/fatherican/article/details/44966891

構件事物是名詞,是模型的靜態部分。
行爲事物是動態部分,表示行爲。
分組事物是組織部分。
註釋事物是解釋部分。
依賴:一個事物變化會引起另一個事物變化。畫法:虛線+實心三角形 或者 虛線+實線箭頭
聚集:特殊的關聯,描述整體與部分的組合關係。
泛化:是一種特殊與一般的關係,如子元素(特殊)與父元素(一般),箭頭指向父元素。
實現:類元之間的關係,其中一個類元指定了由另一個類元保證執行的契約。
一般用在接口和實現他們的類之間或用例和實現它們的協作之間。
UML提供9種視圖:類圖、對象圖,用例圖,序列圖、協作圖,狀態圖、活動圖,構件圖和部署圖。

摘圖:



那依賴和聚合\組合、關聯等有什麼不同呢?
關聯是類之間的一種關係,例如老師教學生,老公和老婆,水壺裝水等就是一種關係。這種關係是非常明顯的,在問題領域中通過分析直接就能得出。
依賴是一種弱關聯,只要一個類用到另一個類,但是和另一個類的關係不是太明顯的時候(可以說是“uses”了那個類),就可以把這種關係看成是依賴,依賴 也可說是一種偶然的關係,而不是必然的關係,就是“我在某個方法中偶然用到了它,但在現實中我和它並沒多大關係”。例如我和錘子,我和錘子本來是沒關係 的,但在有一次要釘釘子的時候,我用到了它,這就是一種依賴,依賴錘子完成釘釘子這件事情。
組合是一種整體-部分的關係,在問題域中這種關係很明顯,直接分析就可以得出的。例如輪胎是車的一部分,樹葉是樹的一部分,手腳是身體的一部分這種的關係,非常明顯的整體-部分關係。
    上述的幾種關係(關聯、聚合/組合、依賴)在代碼中可能以指針、引用、值等的方式在另一個類中出現,不拘於形式,但在邏輯上他們就有以上的區別。

引用:http://blog.csdn.net/blues1021/article/details/45739941


練習 JAVA Collection UML圖:




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