UML类图中类与类之间的关系
前言
在軟件系統(tǒng)中,類不是孤立存在的,類與類之間存在相互關(guān)系,因此,需要通過 UML 來描述這些類之間的關(guān)系。
類之間具有如下幾種關(guān)系:
關(guān)聯(lián)關(guān)系
含義:通常將一個(gè)類的對(duì)象作為另一個(gè)類的屬性。
表示:在 UML 類圖中,用 帶箭頭的實(shí)線 連接有關(guān)聯(lián)的對(duì)象所對(duì)應(yīng)的類。
在 UML 中,關(guān)聯(lián)關(guān)系 有以下幾種類型:
1)雙向關(guān)聯(lián)
2)單向關(guān)聯(lián)
3)自關(guān)聯(lián)
4)多重性關(guān)聯(lián)
5)聚合關(guān)系
含義:表示一個(gè)整體與部分的關(guān)系。在聚合關(guān)系中,成員類是整體類的一部分,即成員對(duì)象是整體對(duì)象的一部分,但是成員對(duì)象可以脫離整體對(duì)象獨(dú)立存在。
表示:在 UML 中,聚合關(guān)系用 帶空心菱形的直線 表示。
6)組合關(guān)系
含義:也表示類之間整體和部分的關(guān)系。但是組合關(guān)系中部分和整體具有統(tǒng)一的生存期。一旦整體對(duì)象不存在,部分對(duì)象也將不存在,部分對(duì)象與整體對(duì)象之間具有 同生共死 的關(guān)系。在組合關(guān)系中,成員類是整體類的一部分,而且整體類可以控制成員類的生命周期,即成員類的存在依賴于整體類。
表示:在 UML 中,組合關(guān)系用 帶實(shí)心菱形的直線 表示。
依賴關(guān)系
含義:在某個(gè)類的方法使用另一個(gè)類的對(duì)象作為參數(shù)
表示:在 UML 中,依賴關(guān)系用 帶箭頭的虛線 表示,由依賴的一方指向被依賴的一方。
泛化關(guān)系
含義:泛化關(guān)系也就是繼承關(guān)系,泛化關(guān)系用于描述父類與子類之間的關(guān)系。父類又稱作基類或超類,子類又稱作派生類。
表示:在 UML 中,泛化關(guān)系用 帶空心三角形的直線 來表示。
關(guān)鍵字:在 Java 語言中,使用 extends 關(guān)鍵字來實(shí)現(xiàn)。
接口與實(shí)現(xiàn)關(guān)系
含義: 在接口中,一般沒有屬性,而且所有的操作都是抽象的,只有操作的聲明,沒有操作的實(shí)現(xiàn)。接口和類之間存在一種實(shí)現(xiàn)關(guān)系,在這種關(guān)系中,類實(shí)現(xiàn)了接口,類中的操作實(shí)現(xiàn)了接口所有聲明的操作。
表示:在 UML 中,類與接口之間的實(shí)現(xiàn)關(guān)系用 帶空心三角形的虛線 來表示。
關(guān)鍵字:在 Java 語言中,使用 implements 關(guān)鍵字來實(shí)現(xiàn)。
摘自《設(shè)計(jì)模式》劉 偉 主編? P7
總結(jié)
以上是生活随笔為你收集整理的UML类图中类与类之间的关系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 戒了吧,拖延症!
- 下一篇: 两个函数相加、相减、相乘等之后的单调性