UML圖記憶技巧

什麼是UML類圖

  • Class Diagram:用於表示類、介面、實例等之間相互的靜態關係
  • 雖然名字叫類圖,但類圖中並不只有類

記憶技巧

UML箭頭方向:

從子類指向父類

我相信 很多同學都會有和我一樣的想法,認為子類是以父類為基礎的,箭頭應該父類指向子類

那麼我們改如何去記憶呢?

  • 定義子類需要通過extends關鍵字去指定父類
  • 子類一定是知到父類定義的,但父類不知道子類的定義
  • 只有知道對方的定義才能指向對方
  • 所以箭頭的方向是子類指向父類

線的含義

實線 –>繼承 虛線–>實現

  • 可以看到 大雁是一個類 實現的某個介面 是由它指向介面 因為介面不知道有大雁的定義
  • 鴨是的父類 唐老鴨只是其中的一個子類 所以是由它指向父類鴨

img

如何記憶呢?

  • 空心三角形代表: 繼承或者實現
  • 實現-繼承: is a的關係,擴展目的,不虛,很結實
  • 虛線-實現: 虛線代表 『 需 』 無實體

實線 –>關聯 虛線–>依賴

  • 關係穩定,實打實的關係,鐵哥們
  • 表示一個類對象和另一個類對象有關聯
  • 通常是一個類中有另一個類對象做為屬性
  • 可以看到 企鵝的出現是和氣候是有關係的 所以他們是關聯關係

img

  • 虛線–>依賴
  • 臨時用一下,若即若離,虛無縹緲,若有若無
  • 表示一種使用關係,一個類需要藉助另一個類來實現功能
  • 一般是一個類使用另一個類做為參數使用,或作為返回值

img

菱形

  • 菱形就是一個盛東西的器皿(例如盤子)
    聚合∶代表空器皿里可以放很多相同東西,聚在一起(箭頭方向所指的類)
    組合∶代表滿器皿里已經有實體結構的存在,生死與共

整體和局部的關係
弱關係
消極的詞:弱-空

img

整體與局部的關係,和聚合的關係相比,關係更加強烈兩者有相同的生命周期,contains-a的關係
強關係
積極的詞∶強-滿

img

img