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


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

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

父子關系,對應於java

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

且箭頭從兒子指向父親

因為接口類似於虛函數,而類是實體,所以實現是虛線,派生是實線(我是這么理解的,你也可以在其他角度理解強弱)

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

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

java中類和類的調用關系,就2種方式:

一種是在自己的方法中,把其他類作為參數調用, 這個叫做 依賴dependency
即是由於要方法調用,才用到B的引用。用好了就再見了。

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

關聯必須要持有對方類的引用,這個依賴強度比 方法調用要強很多。
所以關聯是實現,依賴是虛線。

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

這里存在誰大誰小的關系,菱形箭頭從小的指向大的。

java種類和類的包含關系就2種情況:

  • 一種是外部import進來的類作為成員,這個叫 聚合aggregation
    B是可以獨立存在的,所以是外部import進來

大家只是為了合力做一件事才在一起, 不爽了也可以出去獨立做事或者給別人做勢。或者理解為把一堆同級別的事物打包,打成一個大的團體

注意聚合的線頭為什么會帶一個二叉箭頭?因為聚合一般是作為成員屬性存在的,也相當於一種關聯關系

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

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

因為組合的依賴關系特別強,離開了就不行了,所以組合是實心的菱形箭頭, 聚合是空心的菱形箭頭。

類的依賴關系大小記憶

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

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM