偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

UML建模基礎(chǔ) UML類圖的組成元素和關(guān)系解析

開(kāi)發(fā) 架構(gòu)
你對(duì)UMl類圖的組成元素和關(guān)系是否了解,這里向大家簡(jiǎn)單介紹一下在UML建模中UML類圖的java代碼表現(xiàn),希望本文的介紹對(duì)你有所幫助。

本文和大家重點(diǎn)討論一下在UML建模中UML類圖的java代碼表現(xiàn),主要包括UML類圖元素和關(guān)系兩大部分內(nèi)容,相信通過(guò)本文的介紹你對(duì)UML類圖的概念一定會(huì)與明確的認(rèn)識(shí)。

在UML建模中UML類圖的java代碼表現(xiàn)

UML類圖元素

1.類(Classes)

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

2.包(Package)

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

3.接口(Interface)

接口是一系列操作的集合,它指定了一個(gè)類所提供的服務(wù)。它直接對(duì)應(yīng)于Java中的一個(gè)接口類型。接口既可用下面的那個(gè)圖標(biāo)來(lái)表示(上面一個(gè)圓圈符號(hào),圓圈符號(hào)下面是接口名,中間是直線,直線下面是方法名),也可由附加了<<interface>>的一個(gè)標(biāo)準(zhǔn)類來(lái)表示。通常,根據(jù)接口在類圖上的樣子,就能知道與其他類的關(guān)系。

UML類圖關(guān)系:

1.依賴(Dependency)

實(shí)體之間一個(gè)“使用”關(guān)系暗示一個(gè)實(shí)體的規(guī)范發(fā)生變化后,可能影響依賴于它的其他實(shí)例。更具體地說(shuō),它可轉(zhuǎn)換為對(duì)不在實(shí)例作用域內(nèi)的一個(gè)類或?qū)ο蟮娜魏晤愋偷囊?。其中包括一個(gè)局部變量,對(duì)通過(guò)方法調(diào)用而獲得的一個(gè)對(duì)象的引用(如下例所示),或者對(duì)一個(gè)類的靜態(tài)方法的引用(同時(shí)不存在那個(gè)類的一個(gè)實(shí)例)。也可利用“依賴”來(lái)表示包和包之間的關(guān)系。由于包中含有類,所以你可根據(jù)那些包中的各個(gè)類之間的關(guān)系,表示出包和包的關(guān)系。

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

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

3.聚合(Aggregation)

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

4.合成(Composition)

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

5.泛化(Generalization)

UML類圖中泛化表示一個(gè)更泛化的元素和一個(gè)更具體的元素之間的關(guān)系。泛化是用于對(duì)繼承進(jìn)行建模的UML元素。在Java中,用extends關(guān)鍵字來(lái)直接表示這種關(guān)系。

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

實(shí)例關(guān)系指定兩個(gè)實(shí)體之間的一個(gè)合同。換言之,一個(gè)實(shí)體定義一個(gè)合同,而另一個(gè)實(shí)體保證履行該合同。對(duì)Java應(yīng)用程序進(jìn)行建模時(shí),實(shí)現(xiàn)關(guān)系可直接用implements關(guān)鍵字來(lái)表示。

【編輯推薦】

  1. 技術(shù)分享 用UML類圖描述Java類
  2. 全面認(rèn)識(shí)UML類圖建模技術(shù)
  3. 經(jīng)驗(yàn)總結(jié) 在UML類圖中表示Java繼承和接口
  4. 學(xué)習(xí)筆記 解析UML類圖作用和使用方法
  5. 深入剖析四大UML類圖依賴關(guān)系

 


 

責(zé)任編輯:佚名 來(lái)源: csdn.net
相關(guān)推薦

2010-06-10 09:41:11

UML時(shí)序圖

2010-07-12 10:25:44

UML類圖

2010-06-30 14:37:20

UML類圖

2010-06-11 18:09:26

UML對(duì)象圖

2010-06-29 14:03:46

UML組成

2010-06-11 10:55:51

UML部署圖

2010-07-12 09:37:26

UML建模

2010-07-09 10:26:35

UML類圖關(guān)系

2010-06-30 14:46:49

UML類圖

2010-07-07 17:51:06

UML類圖

2010-07-06 10:12:48

UML部署圖

2010-06-07 18:17:54

UML建模

2010-06-17 16:14:33

UML總結(jié)

2010-06-28 18:29:09

UML類圖元素

2010-06-18 14:43:28

UML關(guān)系圖

2010-07-05 13:55:40

UML圖分類

2010-07-06 17:41:58

UML時(shí)序圖

2010-06-13 10:56:13

UML文獻(xiàn)

2010-06-11 11:09:14

UML部署圖

2010-07-09 09:00:22

UML建模
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)