UML類圖和對象圖概念及其區(qū)別解析
本文和大家重點(diǎn)討論一下UML類圖和對象圖的概念,UML類圖(Class Diagram)是描述類、接口、協(xié)作以及它們之間關(guān)系的圖,用來顯示系統(tǒng)中各個(gè)類的靜態(tài)結(jié)構(gòu),而對象圖(Object Diagram)描述的是參與交互的各個(gè)對象在交互過程中某一時(shí)刻的狀態(tài)。
UML類圖的概念
一、概述
UML類圖(Class Diagram)是描述類、接口、協(xié)作以及它們之間關(guān)系的圖,用來顯示系統(tǒng)中各個(gè)類的靜態(tài)結(jié)構(gòu)。UML類圖是定義其他圖的基礎(chǔ),在UML類圖基礎(chǔ)上,可以使用狀態(tài)圖、協(xié)作圖、組件圖和配置圖等進(jìn)一步描述系統(tǒng)其他方面的特性。
UML類圖包括7個(gè)元素:類(Class)、接口(Interface)、協(xié)作(collaboration)、依賴關(guān)系(Dependency)、泛化關(guān)系(Generalization)、關(guān)聯(lián)關(guān)系(Association)以及實(shí)現(xiàn)關(guān)系(Realization)。
二、類
類定義了一組有著狀態(tài)和行為的對象。其中,屬性和關(guān)聯(lián)用來描述狀態(tài)。屬性通常用沒有身份的數(shù)據(jù)值表示,如數(shù)字和字符串。關(guān)聯(lián)則用有身份的對象之間的關(guān)系表示。行為由操作來描述,方法是操作的實(shí)現(xiàn)。對象的生命期則由附加給類的狀態(tài)機(jī)來描述。
1、 名稱:類的名稱是每個(gè)類中所必有的構(gòu)成元素。
2、 屬性(Attribute)
(1) 可見性:類中屬性的可見性主要包括公有(public)、私有(Private)和受保護(hù)(Protected)。在UML中,公有類型的用“+”表達(dá),私有類型用“-”表達(dá),而受保護(hù)類型則用“#”表達(dá)。UML的類中不存在默認(rèn)的可見性,如果沒有顯示任何一種符號(hào),就表示沒有定義該屬性的可見性。
(2) 屬性名:按照UML的約定,單字屬性名小寫。如果屬性名包含多個(gè)單詞,這些單詞要合并,且除了***個(gè)單詞外其余單詞的首字母要大寫。
(3) 屬性字符串。屬性字符串用來指定關(guān)于屬性的其他信息,例如某個(gè)屬性應(yīng)該是***的。任何希望添加在屬性定義字符串值但又沒有合適地方可以加入的規(guī)則,都可以放在屬性字符串里。
(4) 類屬性。屬性也可以作為一個(gè)類屬屬性來定義,這就意味著此屬性被該類的所有對象共享。在UML類圖中,類屬性帶有一條下劃線。
3、 操作。類的操作是對類的對象所能做的事務(wù)的抽象,相當(dāng)于一個(gè)服務(wù)的實(shí)現(xiàn)。
4、 職責(zé):在操作部分下面的區(qū)域,可以用來說明類的職責(zé)。職責(zé)是類或其他元素的契約或義務(wù)。類的職責(zé)是是自由形式的文本,寫一個(gè)短語,一個(gè)句子等。在UML中,把職責(zé)列在UML類圖底部的分隔欄中。
5、 約束。說明類的職責(zé)是消除二義性的一種非形式化的方法,形式化的方法是使用約束。約束指定了該類所要滿足的一個(gè)或多個(gè)規(guī)則。在UML中,約束是用一個(gè)花括號(hào)括起來的自由文本。
三、接口
接口包含操作但不包含屬性,且它沒有對外界可見的關(guān)聯(lián)。
四、類之間的關(guān)系
類之間的關(guān)系最常見的有四種:依賴關(guān)系、泛化關(guān)系、管理關(guān)系、實(shí)現(xiàn)關(guān)系。
UML對象圖
一、概述
UML對象圖(Object Diagram)描述的是參與交互的各個(gè)對象在交互過程中某一時(shí)刻的狀態(tài)。對象圖可以被看作是UML類圖在某一時(shí)刻的實(shí)例。
在UML中,對象圖使用的是與UML類圖相同的符號(hào)和關(guān)系,因?yàn)閷ο缶褪穷惖膶?shí)例。下圖顯示了對象圖的模型。其中節(jié)點(diǎn)可以是對象也可以是類,連線表示對象之間的關(guān)系:
二、UML類圖和對象圖的區(qū)別
【編輯推薦】
- 全面認(rèn)識(shí)UML類圖建模技術(shù)
- 詳解八大UML類圖符號(hào)的表示法
- 正確辨析UML類圖的兩種存在形式
- UML類圖關(guān)系中關(guān)聯(lián)、依賴、聚集等關(guān)系的異同
- 解析UML類圖關(guān)系中UML關(guān)聯(lián)和其他關(guān)系的區(qū)別和聯(lián)系