如何方便記憶和理解類圖裏的線條

摘要:教你如何方便記憶和理解類圖裏的線條的小妙招,趕忙學起來。

空白三角:和類的父子關係有關

父子關係,對應於javajava

就是 類的派生(泛化) ,和接口的 實現函數

且箭頭從兒子指向父親post

由於接口相似於虛函數,而類是實體,因此實現是虛線,派生是實線(我是這麼理解的,你也能夠在其餘角度理解強弱)3d

二叉箭頭:和類與類的使用關係相關

即對於類A,他是怎麼調用B的?orm

java中類和類的調用關係,就2種方式:對象

一種是在本身的方法中,把其餘類做爲參數調用, 這個叫作 依賴dependency
便是因爲要方法調用,纔用到B的引用。用好了就再見了。blog

一種是做爲私有成員或者靜態成員,去調用類對象的方法,這個叫作 關聯association
即不只要用,我還要一直持有你!繼承

關聯必需要持有對方類的引用,這個依賴強度比 方法調用要強不少。
因此關聯是實現,依賴是虛線。接口

菱形箭頭:和類與類的包含關係相關,誰是誰的成員

這裏存在誰大誰小的關係,菱形箭頭從小的指向大的。ci

java種類和類的包含關係就2種狀況:

  • 一種是外部import進來的類做爲成員,這個叫 聚合aggregation
    B是能夠獨立存在的,因此是外部import進來

你們只是爲了協力作一件事纔在一塊兒, 不爽了也能夠出去獨立作事或者給別人作勢。或者理解爲把一堆同級別的事物打包,打成一個大的團體

注意聚合的線頭爲何會帶一個二叉箭頭?由於聚合通常是做爲成員屬性存在的,也至關於一種關聯關係

  • 一種是內部私有類做爲成員, 這個類只能內部使用,不能開放給外部去用。這個就叫 組合Compostition

即我就是你的專有零件,離開了你我就成廢鐵。

由於組合的依賴關係特別強,離開了就不行了,因此組合是實心的菱形箭頭, 聚合是空心的菱形箭頭。

類的依賴關係大小記憶

  • 類的繼承關係 > 類的包含關係 > 類的調用關係 .
    再加上實線大於虛線,實心大於空心, 就能推出一下關係:
  • 泛化(派生) = 實現 > 組合 > 聚合 > 關聯 > 依賴。
本文分享自華爲雲社區《開發者技巧之如何方便記憶和理解類圖裏的線條》,原文做者:breakDraw 。

 

點擊關注,第一時間瞭解華爲雲新鮮技術~

相關文章
相關標籤/搜索