日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

类与类之间关系的表示方式

發(fā)布時間:2025/4/16 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 类与类之间关系的表示方式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

類與類之間關(guān)系的表示方式

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

關(guān)聯(lián)關(guān)系是對象之間的一種引用關(guān)系,

用于表示一類對象與另一類對象之間的聯(lián)系,如老師和學(xué)生、師傅和徒弟、丈夫和妻子等。

關(guān)聯(lián)關(guān)系是類與類之間最常用的一種關(guān)系,分為一般關(guān)聯(lián)關(guān)系、聚合關(guān)系和組合關(guān)系。



我們先介紹一般關(guān)聯(lián)。

關(guān)聯(lián)又可以分為單向關(guān)聯(lián),雙向關(guān)聯(lián),自關(guān)聯(lián)。

1,單向關(guān)聯(lián)

?

在UML類圖中單向關(guān)聯(lián)用一個帶箭頭的實線表示。

上圖表示每個顧客都有一個地址,這通過讓Customer類持有一個類型為Address的成員變量類實現(xiàn)。

2,雙向關(guān)聯(lián)

?

從上圖中我們很容易看出,所謂的雙向關(guān)聯(lián)就是雙方各自持有對方類型的成員變量。

在UML類圖中,雙向關(guān)聯(lián)用一個不帶箭頭的直線表示。上圖中在Customer類中維護(hù)一個List<Product>,表示一個顧客可以購買多個商品;在Product類中維護(hù)一個Customer類型的成員變量表示這個產(chǎn)品被哪個顧客所購買。

3,自關(guān)聯(lián)

?

自關(guān)聯(lián)在UML類圖中用一個帶有箭頭且指向自身的線表示。上圖的意思就是Node類包含類型為Node的成員變量,也就是“自己包含自己”。



聚合關(guān)系

聚合關(guān)系是關(guān)聯(lián)關(guān)系的一種,是強關(guān)聯(lián)關(guān)系,是整體和部分之間的關(guān)系。

聚合關(guān)系也是通過成員對象來實現(xiàn)的,

其中成員對象是整體對象的一部分,但是成員對象可以脫離整體對象而獨立存在。

例如,學(xué)校與老師的關(guān)系,學(xué)校包含老師,但如果學(xué)校停辦了,老師依然存在。

在 UML 類圖中,聚合關(guān)系可以用帶空心菱形的實線來表示,菱形指向整體。下圖所示是大學(xué)和教師的關(guān)系圖:



組合關(guān)系

組合表示類之間的整體與部分的關(guān)系,但它是一種更強烈的聚合關(guān)系。

在組合關(guān)系中,整體對象可以控制部分對象的生命周期,一旦整體對象不存在,部分對象也將不存在,部分對象不能脫離整體對象而存在。

例如,頭和嘴的關(guān)系,沒有了頭,嘴也就不存在了。

在 UML 類圖中,組合關(guān)系用帶實心菱形的實線來表示,菱形指向整體。

下圖所示是頭和嘴的關(guān)系圖:



依賴關(guān)系

依賴關(guān)系是一種使用關(guān)系,它是對象之間耦合度最弱的一種關(guān)聯(lián)方式,是臨時性的關(guān)聯(lián)

在代碼中,某個類的方法通過局部變量、方法的參數(shù)或者對靜態(tài)方法的調(diào)用來訪問另一個類(被依賴類)中的某些方法來完成一些職責(zé)。

在 UML 類圖中,依賴關(guān)系使用帶箭頭的虛線來表示,箭頭從使用類指向被依賴的類。下圖所示是司機和汽車的關(guān)系圖,司機駕駛汽車:



繼承關(guān)系

繼承關(guān)系是對象之間耦合度最大的一種關(guān)系

表示一般與特殊的關(guān)系,是父類與子類之間的關(guān)系,是一種繼承關(guān)系。

在 UML 類圖中,泛化關(guān)系用帶空心三角箭頭的實線來表示,箭頭從子類指向父類。

在代碼實現(xiàn)時,使用面向?qū)ο蟮睦^承機制來實現(xiàn)泛化關(guān)系。例如,Student 類和 Teacher 類都是 Person 類的子類,其類圖如下圖所示:



實現(xiàn)關(guān)系

實現(xiàn)關(guān)系是接口與實現(xiàn)類之間的關(guān)系。

在這種關(guān)系中,類實現(xiàn)了接口,類中的操作實現(xiàn)了接口中所聲明的所有的抽象操作。

在 UML 類圖中,實現(xiàn)關(guān)系使用帶空心三角箭頭的虛線來表示,箭頭從實現(xiàn)類指向接口。

例如,汽車和船實現(xiàn)了交通工具,其類圖如圖 9 所示。

總結(jié)

以上是生活随笔為你收集整理的类与类之间关系的表示方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。