新聞中心
本節(jié)和大家一起看一下UML類圖中的關(guān)系,UML類圖中的關(guān)系分為四種:泛化、依賴、關(guān)聯(lián)、實(shí)現(xiàn),希望通過(guò)本節(jié)的介紹大家對(duì)UML類圖關(guān)系有清晰的認(rèn)識(shí),下面就讓我們一起來(lái)看一下它的四種關(guān)系吧。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、棗陽(yáng)網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、商城網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為棗陽(yáng)等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
UML類圖中的關(guān)系
UML類圖中的關(guān)系分為四種:泛化、依賴、關(guān)聯(lián)、實(shí)現(xiàn);關(guān)聯(lián)關(guān)系又可以細(xì)化為聚合和組合。
1.泛化(Generalization)
UML類圖中的泛化是父類和子類之間的關(guān)系,子類繼承父類的所有結(jié)構(gòu)和行為。在子類中可以增加新的結(jié)構(gòu)和行為,也可以覆寫(xiě)父類的行為。
2.依賴(Dependency)
依賴關(guān)系是一種使用關(guān)系,特定事物的改變有可能會(huì)影響到使用該事物的事物,反之不成立。在你想顯示一個(gè)事物使用另一個(gè)事物時(shí)使用。
通常情況下,依賴關(guān)系體現(xiàn)在某個(gè)類的方法使用另一個(gè)類作為參數(shù)。
如果模塊A調(diào)用模塊B提供的方法,或訪問(wèn)模塊B中的某些數(shù)據(jù)成員(當(dāng)然,在面向?qū)ο箝_(kāi)發(fā)中一般不提倡這樣做),我們就認(rèn)為模塊A依賴于模塊B,模塊A和模塊B之間發(fā)生了耦合。
3.關(guān)聯(lián)(Dependency)
關(guān)聯(lián)是一種結(jié)構(gòu)化的關(guān)系,指一種對(duì)象和另一種對(duì)象有聯(lián)系。給定有關(guān)聯(lián)的兩個(gè)類,可以從一個(gè)類的對(duì)象得到另一個(gè)類的對(duì)象。UML類圖中關(guān)聯(lián)有兩元關(guān)系和多元關(guān)系。兩元關(guān)系是指一種一對(duì)一的關(guān)系,多元關(guān)系是一對(duì)多或多對(duì)一的關(guān)系。一般用實(shí)線連接有關(guān)聯(lián)的同一個(gè)類或不同的兩個(gè)類。當(dāng)你想要表示結(jié)構(gòu)化關(guān)系時(shí)使用關(guān)聯(lián)。
關(guān)聯(lián)關(guān)系是通過(guò)類的成員變量來(lái)實(shí)現(xiàn)的。
3.1聚合(Aggregation)
聚合是一種特殊的關(guān)聯(lián)。它描述了“hasa”關(guān)系,表示整體對(duì)象擁有部分對(duì)象。
關(guān)聯(lián)關(guān)系和聚合關(guān)系來(lái)語(yǔ)法上是沒(méi)辦法區(qū)分的,從語(yǔ)義上才能更好的區(qū)分兩者的區(qū)別。聚合是較強(qiáng)的關(guān)聯(lián)關(guān)系,強(qiáng)調(diào)的是整體與部分之間的關(guān)系。
與關(guān)聯(lián)關(guān)系一樣,聚合關(guān)系也是通過(guò)類的成員變量來(lái)實(shí)現(xiàn)的。
3.2組合(Composition)
組合是聚合的一種形式,它具有更強(qiáng)的擁有關(guān)系,強(qiáng)調(diào)整體與部分的生命周期是一致的。整體負(fù)責(zé)部分的生命周期的管理。如果整體被銷毀,部分也必須跟著一起被銷毀,如果所有者被復(fù)制,部分也必須一起被復(fù)制。
與關(guān)聯(lián)關(guān)系一樣,組合關(guān)系也是通過(guò)類的成員變量來(lái)實(shí)現(xiàn)的。
聚合和組合的區(qū)別在于:聚合關(guān)系是“has-a”關(guān)系,組合關(guān)系是“contains-a”關(guān)系;聚合關(guān)系表示整體與部分的關(guān)系比較弱,而組合比較強(qiáng);聚合關(guān)系中代表部分事物的對(duì)象與代表聚合事物的對(duì)象的生存期無(wú)關(guān),一旦刪除了聚合對(duì)象不一定就刪除了代表部分事物的對(duì)象。組合中一旦刪除了組合對(duì)象,同時(shí)也就刪除了代表部分事物的對(duì)象。
4.實(shí)現(xiàn)(Realization)
UML類圖中第四種關(guān)系就是實(shí)現(xiàn),實(shí)現(xiàn)關(guān)系指定兩個(gè)實(shí)體之間的一個(gè)合約。換言之,一個(gè)實(shí)體定義一個(gè)合約,而另一個(gè)實(shí)體保證履行該合約。
類間關(guān)系有很多種,在大的類別上可以分為兩種:縱向關(guān)系、橫向關(guān)系。
縱向關(guān)系就是繼承關(guān)系,它的概念非常明確,也成為OO的三個(gè)重要特征之一,這里不過(guò)多的討論。
橫向關(guān)系較為微妙,按照UML的建議大體上可以分為四種:
依賴(Dependency)
關(guān)聯(lián)(Association)
聚合(Aggregation)
組合(Composition)
它們的強(qiáng)弱關(guān)系是沒(méi)有異議的:依賴<關(guān)聯(lián)<聚合<組合<泛化(繼承)
在UML系統(tǒng)開(kāi)發(fā)中有三個(gè)主要的模型:
功能模型:從用戶的角度展示系統(tǒng)的功能,包括用例圖。
對(duì)象模型:采用對(duì)象,屬性,操作,關(guān)聯(lián)等概念展示系統(tǒng)的結(jié)構(gòu)和基礎(chǔ),包括UML類圖。
動(dòng)態(tài)模型:展現(xiàn)系統(tǒng)的內(nèi)部行為。包括序列圖,活動(dòng)圖,狀態(tài)圖。
【編輯推薦】
- 利用UML類圖進(jìn)行系統(tǒng)建模技巧詳談
- 使用UML類圖進(jìn)行Java應(yīng)用程序設(shè)計(jì)
- UML用例圖用法實(shí)例剖析
- 術(shù)語(yǔ)匯編 UML統(tǒng)一建模語(yǔ)言簡(jiǎn)介
- 利用UML類圖設(shè)計(jì)Java應(yīng)用程序詳解
當(dāng)前名稱:UML類圖中的四種關(guān)系深入剖析
標(biāo)題URL:http://www.5511xx.com/article/dhedgjo.html


咨詢
建站咨詢
