<UML基礎(chǔ)、案例與應(yīng)用> - 類圖和對象圖

類圖標(biāo)

UML 包里的類圖標(biāo)
(1)包名::類名 ——路徑名
(2)標(biāo)紅 ——附加信息
(3)... ——省略符
(4)花括號 ——約束

UML的類圖標(biāo)是由一個(gè)矩形表示。

  • 類名字、屬性、操作和職責(zé)都在區(qū)域中有各自的方框
  • 可以使用構(gòu)造型組織屬性和操作名列表
  • 可以使用類的省略表示法,只表現(xiàn)出類的一部分屬性和操作,使得類圖比較清晰。
  • 可以在類圖標(biāo)中指定屬性的類型和初始值
  • 可以指明操作執(zhí)行時(shí)所需要的參數(shù)和參數(shù)類型(這些附加信息被稱為型構(gòu)
  • 可以對類施加約束,以減少描述類時(shí)的二義性
  • 允許對模型元素附加注釋來說明相關(guān)更多的附加信息

類之間的關(guān)系

關(guān)系說明了類模型所表達(dá)的概念之間的連接,這樣才能完整地說明我們所建模的對象。

關(guān)聯(lián)

類之間最基礎(chǔ)的概念性連接。

  • 關(guān)聯(lián)用一條直線表示,其兩端可以注明角色名和多重性,和類一樣,關(guān)聯(lián)也有自己的屬性和操作(關(guān)聯(lián)類)。用虛線將關(guān)聯(lián)類和對應(yīng)的關(guān)聯(lián)線連接起來。
關(guān)聯(lián)
實(shí)心箭頭——關(guān)聯(lián)方向
花括號——關(guān)聯(lián)上的約束

關(guān)聯(lián)也有自己的實(shí)例,叫做——鏈

鏈鏈接的是對象,而不是類。和對象名一樣,要加下劃線
  • 多重性

表示多重性的方法是在參與關(guān)聯(lián)的類附近的關(guān)聯(lián)線上(或下)注明多重性數(shù)值。

多重性
* ——多個(gè)
.. ——或
, ——或
  • 限定關(guān)聯(lián)
屬性值信息叫做限定符,使用時(shí)表示限定了一種關(guān)聯(lián)
  • 自身關(guān)聯(lián)

一個(gè)類可能與自身發(fā)生關(guān)聯(lián)。當(dāng)一個(gè)類的對象可以充當(dāng)多種角色時(shí),自身關(guān)聯(lián)就可能發(fā)生。

自身關(guān)聯(lián)的關(guān)聯(lián)線從某個(gè)類出發(fā)又回到自身。自身關(guān)聯(lián)也可以指明角色名、關(guān)聯(lián)名、關(guān)聯(lián)方向和多重性。

繼承

尋找不同類的共同屬性和操作可以發(fā)現(xiàn)類之間的繼承關(guān)系。在父類中已經(jīng)指明的屬性和操作,在子類中可以不用再指明。

  • 繼承的表示法是從子類畫一條帶空心三角形箭頭的連線指向父類。
單繼承
基類(根類):沒有父類
葉類:沒有子類
單繼承:只有一個(gè)父類
多繼承:有多個(gè)父類
“基類是”斜體 ——表示抽象類類名

抽象類只是為了提供其他類繼承的基類之用,本身不產(chǎn)生對象示例。用斜體書寫。

依賴

一個(gè)類使用了另一個(gè)類。
最通常的用法:用來說明某個(gè)類操作的型構(gòu)使用了另一個(gè)類的定義。

  • 用從依賴類到被依賴類的帶箭頭的虛線表示
依賴

聚集

一個(gè)類有時(shí)是由幾個(gè)部分類組成的,這種特殊類型的關(guān)系被稱為聚集。

可以在聚集上施加一個(gè)“or”約束,它表示某個(gè)整體包含一個(gè)或另一個(gè)部分。整體和部分用帶空心菱形箭頭的連線連接
  • 組成

強(qiáng)類型的聚集。其中的每部分體只能屬于一個(gè)整體。

在組成關(guān)系中,每個(gè)部分只能屬于一個(gè)整體。除菱形箭頭是實(shí)心之外,組成和聚集的表示法相同

實(shí)現(xiàn)

一個(gè)類和它的接口之間的關(guān)系。

  • 接口

描述類的部分行為的一組操作。

和類大致相同,用一個(gè)矩形圖標(biāo)來代表,但接口只是一組操作,沒有屬性。當(dāng)類省略了屬性后,可以使用構(gòu)造型接口 區(qū)分開。

接口是一個(gè)類的操作集合,類和接口之間可以通過實(shí)現(xiàn)關(guān)系連接,實(shí)現(xiàn)關(guān)系用帶空心三角形的虛線表示,箭頭指向接口一端
被類實(shí)現(xiàn)的接口的省略表示法

一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,一個(gè)接口也可以被多個(gè)類實(shí)現(xiàn)。

我們通過接口實(shí)現(xiàn)對的操作,通過接口的交互建模為一種依賴

使用依賴符號對通過接口和類的交互來建模(下圖:引用了“球窩”符號表示省略的接口符號)

接口和端口

接口和端口

可見性

接口實(shí)現(xiàn)密切相關(guān),可應(yīng)用于屬性或操作,它說明在給定類的屬性和操作(或者接口的操作)的情況下,其他類可以訪問到的屬性和操作的范圍。有3種層次(級別)——

  • 公有
    其他類可直接訪問這個(gè)層次中的屬性和操作。
  • 受保護(hù)
    只有繼承了這些屬性和操作的子類可以訪問最初類的屬性和操作。
  • 私有
    只有最初的類才能訪問這些屬性和操作。

實(shí)現(xiàn)關(guān)系意味著接口中的所有操作都是公有的。

3種層次分別用不同符號表示,并放在屬性或操作名前:

“+”——公有
“#”——受保護(hù)
“-”——私有

作用域

屬性操作相關(guān)的概念。

存在兩種——

  • 實(shí)例作用域
    一個(gè)類的每個(gè)對象的都有各自的屬性值或操作。

  • 分類符作用域
    一個(gè)類的所有實(shí)例對象共享一個(gè)屬性值和操作。具有分類作用域的屬性和操作名字要帶下劃線。屬于這組對象的其他對象不能訪問分類符作用域值(私有)。

類圖和對象圖

類圖給出了一般性的、定義性的信息:一個(gè)類的特性以及它的屬性,以及和這個(gè)類關(guān)聯(lián)的其他的類。

對象圖則在某個(gè) 特定時(shí)刻 及時(shí)給出了一個(gè)類的多個(gè)具體實(shí)例 以及它們?nèi)绾温?lián)系起來等相關(guān)信息。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 12,446評論 6 13
  • 在UML 2.0的13種圖形中,類圖是使用頻率最高的UML圖之一。Martin Fowler在其著作《UML Di...
    雷雷_zll閱讀 13,519評論 0 14
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,740評論 18 399
  • 一、概覽 體驗(yàn)產(chǎn)品:在行iPhone版本 軟件版本:V 2.11 設(shè)備型號:iPhone6s 操作系統(tǒng):ios 9...
    Sansa閱讀 1,755評論 1 9
  • 關(guān)于速讀,一目十行,本書也有涉及。用筆一行行的比對是一種好習(xí)慣。按照螺旋方式,跳躍視野,用思想補(bǔ)足缺少的那部分文字...
    曉蕊閱讀 292評論 0 0

友情鏈接更多精彩內(nèi)容