身為程式設計師還看不懂UML類圖? 一文帶你零基礎學會看 ...
文章推薦指數: 80 %
上表包含了UML類圖的基本圖示法。
怎麼樣看了這個圖例,上面的UML類類圖就能看懂一大部分了吧,下面詳細的介紹類圖 ...
MdEditor
身為程式設計師還看不懂UML類圖?一文帶你零基礎學會看UML類圖!
語言:CN/TW/HK
時間 2021-10-0913:15:06
陳言必行
主題:
前端
theme:awesome-green
highlight:a11y-dark
小知識,大挑戰!本文正在參與“程式設計師必備小知識”創作活動。
本文已參與「掘力星計劃」,贏取創作大禮包,挑戰創作激勵金。
一,UML類圖示例圖
看下這個經典的UML的經典的示例圖~(我照著百度百科的簡介圖自己畫了一份)~:
二,UML類圖圖例
功能|圖示|描述|舉例
:-|:-|:-|:-
繼承關係|---▷|實線+空心三角形|鳥---▷動物;鳥繼承動物
實現介面|•••▷|虛線+空心三角形|大雁•••▷飛翔;大雁實現了飛翔介面
實現介面|---○|棒棒糖表示法|唐老鴨---○講人話;唐老鴨實現講人話介面
關聯關係|--->|實線剪頭|企鵝--->氣候;企鵝需要‘知道’氣候的變化
依賴關係|•••>|虛線剪頭|動物•••>氧氣;動物依賴於氧氣
聚合關係|◇--->|空心菱形+實線剪頭|大雁◇--->翅膀;部分和整體的關係
合成關係|◆--->|實心菱形+實線剪頭|大雁◆--->雁群;A包含B,但B不是A的一部分
上表包含了UML類圖的基本圖示法。
怎麼樣看了這個圖例,上面的UML類類圖就能看懂一大部分了吧,下面詳細的介紹類圖中每個部分的含義:
三,分步解析說明
3.1類圖:
先看這個“動物”框,它就代表一個類。
類圖分為三層
-第一層:顯示類的名稱,若是抽象類,則用斜體表示。
-第二層:是類的特性,通常是欄位和屬性。
-第三次:是類的方法。
前面的符號表示訪問許可權:“+”表示public,“-”表示private,“#”表示protected。
3.2介面:
這個“飛翔”,表示一個介面圖,與類圖的區別主要是頂端有個《interface》標識。
-第一行:介面名稱
-第二行:介面方法
介面還有另外一個表示方法,稱為棒棒糖表示法,如上圖中“唐老鴨”類實現了“講人話”介面。
3.3實現繼承
繼承圖示:
實現繼承:
csharp
classBird:Animal{}
類與類之間的繼承關係,用空心三角形+實線來表示。
3.4實現介面:
實現圖示:
實現介面:
csharp
classWildGoose:IFly{}
3.5關聯關係:
在企鵝~(Pengui)~類中引用到氣候~(Climate)~物件。
csharp
classPengui:Bird
{
privateClimatecalimate;
}
企鵝和氣候這兩個類,企鵝需要‘知道’氣候的變化,需要‘瞭解’氣候規律。
當一個類‘知道’另一個類時,可以用關聯關係用實線箭頭來表示。
3.6聚合關係:
看下大雁和雁群這個兩個類,大雁是群居動物,每隻大雁都是屬於一個雁群,一個雁群可以有多隻大雁。
所以它們之間就滿足聚合關係,聚合關係用空心菱形+實線箭頭來表示。
csharp
classWildGooseGroup
{
privateWildGoose[]_WildGooseArray
}
聚合表示一種弱的‘擁有’關係,體現的是A物件可以包含B物件,但B物件不是A物件的一部分。
3.7合成關係:
這裡鳥類和翅膀類是合成關係,因為它們是部分和整體的關係,並且這裡的鳥和翅膀的生命週期是相同的。
合成關係用實心菱形+實線箭頭來表示。
這裡連線兩端還有兩個數字,這被稱為基數,這表明一端的類可以有幾個例項。
若一個類可以有無數個例項,則就可以以用‘n’來表示。
關聯關係,聚合關係也可以有基數。
程式碼解析:在鳥~(Bird)~類中,初始化時,例項化翅膀~(Wing)~,它們之間同時生成
csharp
classBird:Animal
{
privateWingwing;
privateBird()
{
wing=newWing();
}
}
合成是一種強的‘擁有’關係,體現了嚴格的部分和整體的關係,部分和整體的生命週期一樣。
在這裡鳥和其翅膀就是合成關係。
3.8依賴關係:
csharp
abstractclassAnimal
{
publicMetabolism(Oxygenoxy,Waterwater)
{
}
}
‘動物’的新陳代謝需要‘氧氣’和‘水’來維持生命,所以依賴於氧氣和水。
這種依賴關係用虛線箭頭來表示。
四,UML類圖繪製工具
UML工具比較多,常用的三大UML建模工
1.PowerDesign
2.Rose
3.Visio
還有一些免費的工具有:
1.UMLet
2.ArgoUML
3.JUDE
4.BOUml
5.VisualParadigm
免費線上編輯工具推薦:ProcessOn
「其他文章」
Unity報錯之InvalidProgramException:InvalidILcodeinCC_Ctrl:getFixByPlatForm
Unity之解決2019之後的版本打apk卡到BuildingGradleproject問題
Unity報錯之LuaException:cannotopenScripts:Nosuchfileordirectory
Unity之使用ShareSDK分享連結分享的卻是文字
Unity之UGUI程式碼生成UI設定為相對位置問題
Unity之動畫系統--AnimationEvent使用
Unity物理系統--剛體簡介
UnityUI系統--UGUI之RectTransform簡介
Unity之Time類簡介及應用
UnityUI系統--NGUI之AtlasMaker
UnityUI系統--NGUI簡介
UnityUI系統--UGUI簡介
Unity之基礎尋路--NavMesh簡介和使用示例
演算法提高11-1實現strcmp函式
演算法訓練Torry的困惑(基本型)
Unity之三種抽獎示例(跑馬燈,轉盤,老虎機例項文中原始碼)
因為一個疏忽差點被老闆開除,Unity解決包體過大的問題記錄
身為程式設計師還看不懂UML類圖?一文帶你零基礎學會看UML類圖!
SourceTree本地分支無法顯示問題記錄
「前端」
TypeScript終極初學者指南
史上最全,用60VsCode外掛,打造最強編輯器
前端必讀:如何在JavaScript中使用SpreadJS匯入和匯出Excel檔案
非大廠的我們,要如何去搞前端基建?
兩道超有意思的CSS面試題,試試你的基礎
前端動效講解與實戰
前端面試八股文
前端應該掌握的瀏覽器除錯技巧
大終端領域的新物種-KUN
前端必讀:如何在JavaScript中使用SpreadJS匯入和匯出Excel檔案
延伸文章資訊
- 1UML活動圖與資料流程圖符號
活動圖(英語:activity diagram)是工作流程的圖形化表示。 • 活動圖主要由活動和動作 ... UML活動圖圖示(節錄). • 活動圖的符號 ... 這些框內要做某件事的簡要說明.
- 2學習EA, Agile & UML 和使用Visual Paradigm 技能- 點部落
類圖示例:GUI
- 3UML類圖介紹&類的六大關係 - IT人
UML 圖形化的語言. 基本介紹. UML類圖介紹&類的六大關係. UML圖:通過不同的圖形和符號,來描述軟體模型以及各個元素之間的關係. UML圖分類.
- 4uml 圖學習記錄 - 程式人生
在UML 2.0的13種圖形中,類圖是使用頻率最高的UML圖之一。 ... 如果需要詳細說明類圖中的某一方法的功能或者實現過程,可以使用如圖2所示表示方式:.
- 5看懂UML类图和时序图 - 图说设计模式- Read the Docs