溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

UML類圖的組成元素有哪些

發(fā)布時間:2022-03-18 14:10:16 來源:億速云 閱讀:1733 作者:iii 欄目:開發(fā)技術

這篇文章主要介紹“UML類圖的組成元素有哪些”,在日常操作中,相信很多人在UML類圖的組成元素有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”UML類圖的組成元素有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

UML類圖元素

1.類(Classes)

類包含3個組成部分。***個是Java中定義的類名。第二個是屬性(attributes)。第三個是該類提供的方法。
屬性和操作之前可附加一個可見性修飾符。加號(+)表示具有公共可見性。減號(-)表示私有可見性。#號表示受保護的可見性。省略這些修飾符表示具有package(包)級別的可見性。如果屬性或操作具有下劃線,表明它是靜態(tài)的。在操作中,可同時列出它接受的參數,以及返回類型,如下圖所示:

2.包(Package)

UML類圖中包是一種常規(guī)用途的組合機制。UML中的一個包直接對應于Java中的一個包。在Java中,一個包可能含有其他包、類或者同時含有這兩者。進行建模時,你通常擁有邏輯性的包,它主要用于對你的模型進行組織。你還會擁有物理性的包,它直接轉換成系統(tǒng)中的Java包。每個包的名稱對這個包進行了惟一性的標識。

3.接口(Interface)

接口是一系列操作的集合,它指定了一個類所提供的服務。它直接對應于Java中的一個接口類型。接口既可用下面的那個圖標來表示(上面一個圓圈符號,圓圈符號下面是接口名,中間是直線,直線下面是方法名),也可由附加了<<interface>>的一個標準類來表示。通常,根據接口在類圖上的樣子,就能知道與其他類的關系。

UML類圖關系:

1.依賴(Dependency)

實體之間一個“使用”關系暗示一個實體的規(guī)范發(fā)生變化后,可能影響依賴于它的其他實例。更具體地說,它可轉換為對不在實例作用域內的一個類或對象的任何類型的引用。其中包括一個局部變量,對通過方法調用而獲得的一個對象的引用(如下例所示),或者對一個類的靜態(tài)方法的引用(同時不存在那個類的一個實例)。也可利用“依賴”來表示包和包之間的關系。由于包中含有類,所以你可根據那些包中的各個類之間的關系,表示出包和包的關系。

2.關聯(lián)(Association)

實體之間的一個結構化關系表明對象是相互連接的。箭頭是可選的,它用于指定導航能力。如果沒有箭頭,暗示是一種雙向的導航能力。在Java中,關聯(lián)轉換為一個實例作用域的變量,就像圖E的“Java”區(qū)域所展示的代碼那樣??蔀橐粋€關聯(lián)附加其他修飾符。多重性(Multiplicity)修飾符暗示著實例之間的關系。在示范代碼中,Employee可以有0個或更多的TimeCard對象。但是,每個TimeCard只從屬于單獨一個Employee。

3.聚合(Aggregation)

UML類圖中聚合是關聯(lián)的一種形式,代表兩個類之間的整體/局部關系。聚合暗示著整體在概念上處于比局部更高的一個級別,而關聯(lián)暗示兩個類在概念上位于相同的級別。聚合也轉換成Java中的一個實例作用域變量。
關聯(lián)和聚合的區(qū)別純粹是概念上的,而且嚴格反映在語義上。聚合還暗示著實例圖中不存在回路。換言之,只能是一種單向關系。

4.合成(Composition)

合成是聚合的一種特殊形式,暗示“局部”在“整體”內部的生存期職責。合成也是非共享的。所以,雖然局部不一定要隨整體的銷毀而被銷毀,但整體要么負責保持局部的存活狀態(tài),要么負責將其銷毀。
局部不可與其他整體共享。但是,整體可將所有權轉交給另一個對象,后者隨即將承擔生存期職責。Employee和TimeCard的關系或許更適合表示成“合成”,而不是表示成“關聯(lián)”。

5.泛化(Generalization)

UML類圖中泛化表示一個更泛化的元素和一個更具體的元素之間的關系。泛化是用于對繼承進行建模的UML元素。在Java中,用extends關鍵字來直接表示這種關系。

6.實現(xiàn)(Realization)

實例關系指定兩個實體之間的一個合同。換言之,一個實體定義一個合同,而另一個實體保證履行該合同。對Java應用程序進行建模時,實現(xiàn)關系可直接用implements關鍵字來表示。

到此,關于“UML類圖的組成元素有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

uml
AI