成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

全面認(rèn)識(shí)UML類圖關(guān)系

開發(fā) 架構(gòu)
UML類圖之間的關(guān)系你是否熟悉,本文就向大家介紹一下,為了將類圖作為一種高效的溝通工具使用,開發(fā)者必須理解如何將類圖上出現(xiàn)的元素轉(zhuǎn)換到Java中。

本節(jié)重點(diǎn)向大家介紹一下UML類圖關(guān)系,開發(fā)Java應(yīng)用程序時(shí),開發(fā)者要想有效地利用統(tǒng)一建模語言(UML),必須全面理解UML元素和UML類圖關(guān)系以及這些元素和關(guān)系如何映射到Java。

全面認(rèn)識(shí)UML類圖關(guān)系

類圖是最常用的UML圖,它用于描述系統(tǒng)的結(jié)構(gòu)化設(shè)計(jì)。其中包括類關(guān)系以及與每個(gè)類關(guān)聯(lián)的屬性及行為。類圖能出色地表示繼承與合成關(guān)系。為了將類圖作為一種高效的溝通工具使用,開發(fā)者必須理解如何將類圖上出現(xiàn)的元素轉(zhuǎn)換到Java中。下面來進(jìn)一步探索這一轉(zhuǎn)換過程。

UML類圖關(guān)系
后面的例子將針對(duì)某個(gè)具體目的來獨(dú)立地展示各種關(guān)系。雖然語法無誤,但這些例子可進(jìn)一步精煉,在它們的有效范圍內(nèi)包括更多的語義。

依賴(Dependency)

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

圖D 

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

UML類圖關(guān)系中實(shí)體之間的一個(gè)結(jié)構(gòu)化關(guān)系表明對(duì)象是相互連接的。箭頭是可選的,它用于指定導(dǎo)航能力。如果沒有箭頭,暗示是一種雙向的導(dǎo)航能力。在Java中,關(guān)聯(lián)(圖E)轉(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。

圖E

 

聚合(Aggregation)

聚合(圖F)是關(guān)聯(lián)的一種形式,代表兩個(gè)類之間的整體/局部關(guān)系。UML類圖關(guān)系中聚合暗示著整體在概念上處于比局部更高的一個(gè)級(jí)別,而關(guān)聯(lián)暗示兩個(gè)類在概念上位于相同的級(jí)別。聚合也轉(zhuǎn)換成Java中的一個(gè)實(shí)例作用域變量。

關(guān)聯(lián)和聚合的區(qū)別純粹是概念上的,而且嚴(yán)格反映在語義上。聚合還暗示著實(shí)例圖中不存在回路。換言之,只能是一種單向關(guān)系。

圖F

 

合成(Composition)

合成(圖G)是聚合的一種特殊形式,暗示“局部”在“整體”內(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)”。

圖G

 

泛化(Generalization)

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

圖H

 

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

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

圖I

 

精確映射
如本節(jié)所述,UML類圖上的元素能精確映射到Java編程語言。開發(fā)團(tuán)隊(duì)的成員可利用這種精確性來加強(qiáng)溝通,取得對(duì)系統(tǒng)結(jié)構(gòu)化設(shè)計(jì)的共識(shí)。

【編輯推薦】

  1. 六大UML類圖關(guān)系連連看
  2. UML建模中繪制UML用例圖行之有效的辦法
  3. 揭秘五種UML類圖關(guān)系
  4. 專家提醒 小心掉進(jìn)UML建模誤區(qū)
  5. PowerDesigner UML建模技術(shù)簡(jiǎn)介

 

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

2010-07-09 15:19:58

UML類圖建模

2010-07-02 12:39:38

UML對(duì)象圖

2010-07-01 17:43:23

UML包圖

2010-06-28 16:37:05

UML類圖

2010-07-01 15:12:34

UML時(shí)序圖

2010-07-12 13:47:09

UML部署圖

2010-07-01 16:02:48

UML組件圖

2010-07-01 12:53:34

UML用例圖

2010-07-05 09:19:35

UML動(dòng)態(tài)模型圖

2010-07-05 16:07:15

UML圖設(shè)計(jì)模式

2010-07-09 16:30:31

UML狀態(tài)圖

2010-06-28 16:27:03

UML類圖元素

2010-07-05 17:58:41

UML活動(dòng)圖

2010-06-11 17:18:26

UML精粹

2010-07-05 17:07:44

UML類圖符號(hào)

2010-06-12 18:30:57

UML類圖關(guān)系

2010-06-30 13:53:28

UML建模過程

2010-07-07 14:43:19

UML協(xié)作圖

2010-07-02 14:16:42

UML

2010-07-07 09:34:06

UML用戶指南
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 国产精品一区二区三 | 中国人pornoxxx麻豆 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 欧美日本韩国一区二区 | 国产精品久久久久久久久久三级 | 国产一级视频免费播放 | 日韩av免费在线观看 | 亚洲一区二区三区四区五区午夜 | 欧美一区二区在线看 | 成年免费大片黄在线观看岛国 | 情侣酒店偷拍一区二区在线播放 | 精品视频一区二区三区 | 精品国产1区2区3区 一区二区手机在线 | 亚洲欧美日韩精品久久亚洲区 | 酒色成人网 | 酒色成人网 | 亚洲第一成人av | 福利国产| 美女国内精品自产拍在线播放 | 最新日韩精品 | 久久国产精品免费一区二区三区 | 亚洲精品一区二区在线观看 | 精品国产乱码久久久久久a丨 | 国产精品久久久久aaaa | 国产精品高清一区二区 | 蜜桃av鲁一鲁一鲁一鲁 | 蜜桃传媒一区二区 | 精品国产99 | 一区二区三区视频在线观看 | 黄色国产区| 成人在线电影网站 | 国产精品视频免费观看 | 国产精品国产三级国产aⅴ浪潮 | 伊人狠狠操 | 欧美日韩中文字幕 | 国产激情视频在线 | 91精品麻豆日日躁夜夜躁 | 91精品国产91久久久久久最新 | 精品久久国产老人久久综合 | 亚洲午夜精品久久久久久app | 欧美在线视频一区 |