怎麼看懂UML中的類圖?

2021-03-06 亂敲代碼

統一建模語言(Unified Modeling Language,UML)是用來設計軟體藍圖的可視化建模語言,1997 年被國際對象管理組織(OMG)採納為面向對象的建模語言的國際標準。它的特點是簡單、統一、圖形化、能表達軟體設計中的動態與靜態信息。

統一建模語言能為軟體開發的所有階段提供模型化和可視化支持。而且融入了軟體工程領域的新思想、新方法和新技術,使軟體設計人員溝通更簡明,進一步縮短了設計時間,減少開發成本。它的應用領域很寬,不僅適合於一般系統的開發,而且適合於並行與分布式系統的建模。

UML 從目標系統的不同角度出發,定義了用例圖、類圖、對象圖、狀態圖、活動圖、時序圖、協作圖、構件圖、部署圖等 9 種圖。

本文並不會對所有圖進行分析。主要介紹開發中常用的類圖 時序圖 狀態圖。

類圖

類(Class)是指具有相同屬性、方法和關係的對象的抽象,它封裝了數據和行為,是面向對象程序設計(OOP)的基礎,具有封裝性、繼承性和多態性等三大特性。在 UML 中,類使用包含類名、屬性和操作且帶有分隔線的矩形來表示。

首先講解關係先來看一個例子:

現在分析一下上面的

首先從動物開始

然後鳥繼承了動物,所以鳥的父類是動物 所以鳥是屬於動物

上圖是借鑑了大話設計模式裡面的圖。下面具體介紹各個箭頭符號的作用

首先介紹圖形

一般是用三層矩形框表示,第一層表示類的名稱,第二層表示的是欄位和屬性,第三層則是類的方法。第一層中,如果是抽象類,需用斜體顯示。

包(Package): 是一種常規用途的組合機制。在UML中用一個Tab框表示,Tab裡寫上包的名稱,框裡則用來放一些其他子元素,比如類,子包等等。

接口

接口(interface):接口包含操作但不包含屬性,且它沒有對外界可見的關聯

關係依賴

依賴(Dependency) 表示的是類之間的調用關係。UML中用帶箭頭的虛線表示依賴關係,而箭頭所指的則是被依賴的類。

泛化

泛化(Generalization): 表示的是類之間的繼承關係,注意是子類指向父類。UML中用帶空心三角箭頭的實線表示泛化關係,箭頭指向的是一般個體。

關聯

關聯(Association) 表示的是類與類之間存在某種特定的對應關係。UML中用雙向帶箭頭的虛線表示關聯關係,箭頭兩端為相互關聯的兩個類。

聚合

聚合(Aggregation): 是關聯關係的一種特例,表示的是整體與部分之間的關係,部分不能離開整體單獨存在。UML中用空心菱形頭的實線表示聚合關係,菱形頭指向整體

組合

組合(Composition): 是聚合的一種特殊形式,表示的是類之間更強的組合關係。UML中用實心菱形頭的實線來表示組合,菱形頭指向整體。

類符號

以上就是類圖之間的關係符號,還有就是在類中+號是什麼意思,其實不光有+號。

看上面的學生類裡面有五個屬性和兩個方法

帶下劃線表示靜態屬性,一般表示方法+ 屬性:類型。

下面是方法符號與上方相同+表示公共方法括號內表示參數:後面是返回類型沒有默認表示無返回值。

工具推薦

如果使用的是IDEA的話是直接可以看UML圖的,只不過會有一點變化。理解了上面的關係這些變化也能看的懂。

然後選擇

然後就顯示出來,也可以直接在包上面右鍵查看包下面的關係。或者可以下載 ,以上圖都是使用億圖所畫。


相關焦點

  • 看懂UML類圖和時序圖
    一起學習、成長、溫情的熱愛生活圖丨pexels這裡不會將UML的各種元素都提到,我只想講講類圖中各個類之間的關係;能看懂類圖中各個類之間的線條、箭頭代表什麼意思後,也就足夠應對日常的工作和交流;同時,我們應該能將類圖所表達的含義和最終的代碼對應起來
  • 淺談UML類圖
    類的UML圖表示    在UML類圖中,類使用包含類名、屬性和方法且帶有分隔線的長方形來表示,請看下圖使用類圖表示類信息的示例:我們通常將類圖表示的類分為三個部分:第一部分為類名,如果類名用正體書寫則說明這是可以實例化的普通類。如果類名用斜體書寫,則說明這是抽象類。
  • UML精粹 UML類圖全面剖析
    UML精粹 UML類圖全面剖析 UML有很多值得學習的地方,你對UML精粹中類圖是否熟悉,這裡就向大家介紹一下有關類圖方面的內容,相信通過本文的介紹你對類圖一定會有全面的認識。
  • UML類圖
    UML 涉及的知識太多,我主要挑選我用到的知識進行總結圖形UML2.0 一共定義了14種圖形,根據各個圖形的側重點,分成3大類結構型圖形(Structure diagrams):強調的是系統式的建模靜態圖(static diagram),包括 類圖,對象圖,包圖實現圖
  • UML實踐--UML用例圖和類圖解析
    UML中有九種建模的圖標,即:用例圖類圖對象圖順序圖協作圖狀態圖活動圖組件圖配置圖本課程中的某些部分包含了這些圖的細節信息的頁面連結。而且每個部分都有一個小問題,測試一下你對這個部分的理解。為什麼UML很重要?
  • 區分四大UML類圖關係
    區分四大UML類圖關係 UML類圖關係你是否熟悉,本文就向大家簡單介紹一下幾種UML類圖關係的區別,希望通過本文的學習你對這幾種UML類圖關係的特點有一定的認識。
  • 解析UML類圖關係中UML關聯和其他關係的區別和聯繫
    解析UML類圖關係中UML關聯和其他關係的區別和聯繫 在UML類圖關係中,UML關聯,依賴,聚集,組成的聯繫十分緊密,不容易區分,本文試圖用通俗的語言來講解這四種關係的區別。
  • 專家推薦 經典UML類圖教程
    在面向對象建模技術中,我們使用同樣的方法將客觀世界的實體映射為對象,並歸納成一個個類。類(Class)、對象(Object)和它們之間的關聯是面向對象技術中最基本的元素。對於一個想要描述的系統,其類模型和對象模型揭示了系統的結構。在UML中,類和對象模型分別由類圖和對象圖表示。類圖技術是OO方法的核心。
  • 產品經理必學UML:類圖
    本篇文章主要介紹了UML靜態視圖中的類圖,包括類圖的概念、用途及相關元素,供大家一起參考和學習。上圖為產品經理經常用到的UML圖,包括靜態視圖(類圖)和動態視圖(用例圖、狀態圖、順序圖、活動圖),其中靜態視圖主要用來分析業務概念,描述靜態場景;動態視圖描述業務行為,分析動態場景。本文主要介紹類圖。
  • 深入剖析統一建模語言UML中的五類圖
    深入剖析統一建模語言UML中的五類圖 建模語言有很多種,你熟悉的有哪些呢,這就向大家介紹統一建模語言UML,歡迎對UML感興趣的朋友們一起來關注,希望通過本文的介紹,你對統一建模語言UML內容有清晰的認識。
  • 專家指導 如何區分UML類圖關係
    專家指導 如何區分UML類圖關係 UML類圖關係中的」關聯關係「、」聚合關係「、」合成關係「和」依賴關係「不是很容易區分清楚,本文就向大家簡單介紹一下這些關係之間的區別。
  • UML類圖幾種關係的總結
    在UML類圖中,常見的有以下幾種關係:泛化(Generalization), 實現(Realization)
  • IDEA 還是強大啊,一鍵把項目生成 UML 類圖…
    Java技術棧www.javastack.cn關注閱讀更多優質文章最近在開發的過程當中,對於已有的代碼,想將相關類繪製成UML類圖,雖然現在有很多UML類圖的優秀軟體,比如ProcessOn(可視化編輯)、draw.io(可視化編輯)、PlantUML(代碼生成),其實看到這裡我就想IDEA中有沒有像PlantUML一樣的自動生成的插件。
  • 詳解:UML類圖符號、各種關係說明以及舉例
    uml中用帶箭頭的虛線表示Dependency關係,箭頭指向被依賴元素。泛化(Generalization):通常所說的繼承(特殊個體 is kind of 一般個體)關係,不必多解釋了。uml中用帶空心箭頭的實線線表示Generalization關係,箭頭指向一般個體。
  • 圖文並茂,詳細講解UML類圖符號、各種關係說明以及舉例
    uml中用帶箭頭的虛線表示Dependency關係,箭頭指向被依賴元素。泛化(Generalization):通常所說的繼承(特殊個體 is kind of 一般個體)關係,不必多解釋了。uml中用帶空心箭頭的實線線表示Generalization關係,箭頭指向一般個體。
  • UML科普文,一文章掌握14種UML圖!
    結構圖分為類圖、輪廓圖、組件圖、組合結構圖、對象圖、部署圖、包圖。UML圖概覽什麼是類圖?【概念】類圖是一切面向對象方法的核心建模工具。類圖描述了系統中對象的類型以及它們之間存在的各種靜態關係。❝在類圖中,常見的有以下幾種關係。❞泛化(Generalization)【泛化關係】是一種繼承關係,表示子類繼承父類的所有特徵和行為。
  • 產品經理需要使用的UML繪圖流程圖是什麼?
    期間通過多個步驟,工作過程結束..例如,客戶在一個APP點畫中有三個小人物,每個小人代表一個角色。角色和角色之間有一個線連接,指示角色是如何交互的。客戶訂單提取涉及多個角色、多個過程,如果發生這種情況,可以考慮使用uml序列圖。
  • UML建模中的9種圖
    其中在第一步與第二步中所建立的模型都是靜態的,包括用例圖、類圖、對象圖、組件圖和部署圖等5種圖形,是標準建模語言UML的靜態建模機制。其中第三步中所建立的模型或者可以執行,或者表示執行時的時序狀態或交互關係。它包括狀態圖、活動圖、時序圖和協作圖等4種圖形,是標準建模語言UML的動態建模機制。
  • 分析階段的類圖和設計階段的類圖有什麼區別?
    設計類圖是類圖的一個變體,類圖表示一系列的類以及它們之間的關係。因為分析階段是一個發現需求的過程,所以我們一般很少關心類的屬性和方法的細節。在面向對象設計中,類的屬性有一個特徵叫可見性,它表示其它類是否可以訪問該屬性。類的每個屬性都有一個類型定義,例如字符串或數值類型。
  • 時序圖和類圖的關係
    它可以表示用例的行為順序,當執行一個用例行為時,其中的每條消息對應一個類操作或狀態機中引起轉換的觸發事件。   什麼是類圖   類圖(Class diagram)是顯示了模型的靜態結構,特別是模型中存在的類、類的內部結構以及它們與其他類的關係等。類圖不顯示暫時性的信息。類圖是面向對象建模的主要組成部分。