五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

設(shè)計(jì)原則(二)——類(lèi)與類(lèi)之間的關(guān)系

2023-07-21 11:29 作者:香草味的lollipop  | 我要投稿

類(lèi)與類(lèi)之間的六種關(guān)系:

泛化(Generalization)、實(shí)現(xiàn)(Realization)、組合(Composition)、聚合(Aggregation)、關(guān)聯(lián)(Association)、依賴(Dependency)

UML中常用符號(hào)含義:

????????+ public

????????- private

????????# protected

一、泛化(繼承)

????????繼承指的是一個(gè)類(lèi)(稱(chēng)為子類(lèi)、子接口)繼承另外的一個(gè)類(lèi)(稱(chēng)為父類(lèi)、父接口)的功能,并可以增加它自己的新功能的能力。在Java中繼承關(guān)系通過(guò)關(guān)鍵字extends明確標(biāo)識(shí),C#中通過(guò):來(lái)標(biāo)識(shí)繼承。在UML類(lèi)圖設(shè)計(jì)中,繼承用一條帶空心三角箭頭的實(shí)線表示,從子類(lèi)指向父類(lèi),或者子接口指向父接口。

????????UML類(lèi)圖表示

? ? ? ? Animal是Tiger的泛化,Tiger是Animal的特化

二、實(shí)現(xiàn)

????????實(shí)現(xiàn)指的是一個(gè)class類(lèi)實(shí)現(xiàn)interface接口(可以是多個(gè))的功能,實(shí)現(xiàn)是類(lèi)與接口之間最常見(jiàn)的關(guān)系。在Java中此類(lèi)關(guān)系通過(guò)關(guān)鍵字implements明確標(biāo)識(shí),C#中使用:來(lái)標(biāo)識(shí),在UML類(lèi)圖設(shè)計(jì)中,實(shí)現(xiàn)用一條帶空心三角箭頭的虛線表示,從類(lèi)指向?qū)崿F(xiàn)的接口。

????????UML類(lèi)圖表示

類(lèi)與接口的關(guān)系,表示類(lèi)實(shí)現(xiàn)了接口


三、依賴

????????類(lèi)A的實(shí)現(xiàn)需要引用類(lèi)B,這就是依賴,這種使用關(guān)系是具有偶然性的、臨時(shí)性的、非常弱的,而B(niǎo)類(lèi)的變化會(huì)影響到A,則A與B存在依賴關(guān)系,依賴關(guān)系是弱的關(guān)聯(lián)關(guān)系。例如:人依賴計(jì)算機(jī)去做軟件開(kāi)發(fā)。在UML類(lèi)圖設(shè)計(jì)中,依賴關(guān)系用由類(lèi)A指向類(lèi)B的帶箭頭虛線表示。

????????UML類(lèi)圖表示

依賴是一種使用關(guān)系

四、關(guān)聯(lián)

????????關(guān)聯(lián)體現(xiàn)的是兩個(gè)類(lèi)之間語(yǔ)義級(jí)別的一種 強(qiáng)依賴關(guān)系,比如我和我的朋友,這種關(guān)系比依賴更強(qiáng)、不存在依賴關(guān)系的偶然性、關(guān)系也不是臨時(shí)性的,一般是長(zhǎng)期性的,而且雙方的關(guān)系一般是平等的。

????????關(guān)聯(lián)可以是單向、雙向的。表現(xiàn)在代碼層面,為被關(guān)聯(lián)類(lèi)B以類(lèi)的屬性形式出現(xiàn)在關(guān)聯(lián)類(lèi)A中,也可能是關(guān)聯(lián)類(lèi)A引用了一個(gè)類(lèi)型為被關(guān)聯(lián)類(lèi)B的全局變量。在UML類(lèi)圖設(shè)計(jì)中,關(guān)聯(lián)關(guān)系用由關(guān)聯(lián)類(lèi)A指向被關(guān)聯(lián)類(lèi)B的帶箭頭實(shí)線表示

????????UML類(lèi)圖表示

關(guān)聯(lián)是一種擁有關(guān)系,它使一個(gè)類(lèi)知道另一個(gè)類(lèi)的屬性或方法


五、聚合

????????聚合是關(guān)聯(lián)關(guān)系的一種特例,它體現(xiàn)的是整體與部分的關(guān)系,即 has-a 的關(guān)系。此時(shí)整體與部分之間是可分離的,它們可以具有各自的生命周期,部分可以屬于多個(gè)整體對(duì)象,也可以為多個(gè)整體對(duì)象共享。此時(shí)整體與部分之間是可分離的,即沒(méi)有了整體,局部也可單獨(dú)存在。比如計(jì)算機(jī)與CPU、公司與員工的關(guān)系等。表現(xiàn)在代碼層面,和關(guān)聯(lián)關(guān)系是一致的,只能從語(yǔ)義級(jí)別來(lái)區(qū)分。在UML類(lèi)圖設(shè)計(jì)中,聚合關(guān)系以空心菱形加實(shí)線表示(菱形指向整體)

????????UML類(lèi)圖表示

? ? ? ??

個(gè)體有獨(dú)立的生命周期,聚合是把個(gè)體對(duì)象的指針(引用)作為整體類(lèi)的屬性,弱擁有關(guān)系

六、組合

????????組合也是關(guān)聯(lián)關(guān)系的一種特例,這種關(guān)系比聚合更強(qiáng),是一種contains-a的關(guān)系,部分不能脫離整體存在。這是一種比聚合更強(qiáng)的關(guān)系,所以也稱(chēng)為強(qiáng)聚合。

????????整體的生命周期即為組成部分的生命周期。它同樣體現(xiàn)整體與部分間的關(guān)系,但此時(shí)整體與部分是不可分的,整體的生命周期結(jié)束也就意味著部分的生命周期結(jié)束,比如人和人的大腦。表現(xiàn)在代碼層面,和關(guān)聯(lián)關(guān)系是一致的,只能從語(yǔ)義級(jí)別來(lái)區(qū)分。在UML類(lèi)圖設(shè)計(jì)中,組合關(guān)系以實(shí)心菱形加實(shí)線表示

????????UML類(lèi)圖表示

個(gè)體/部分 不存在獨(dú)立的生命周期,個(gè)體/部分的生命周期,與整體的生命周期保持一致,強(qiáng)擁有關(guān)系



全圖 看你掌握了沒(méi)~

————————————————

參考文章:https://blog.csdn.net/weixin_43819566/article/details/111795638



設(shè)計(jì)原則(二)——類(lèi)與類(lèi)之間的關(guān)系的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
龙川县| 临沂市| 丹寨县| 仪征市| 界首市| 桐柏县| 射洪县| 南投市| 三穗县| 平湖市| 灌阳县| 台南县| 邯郸县| 太保市| 抚宁县| 府谷县| 伊通| 娄底市| 盘山县| 蚌埠市| 莆田市| 涞水县| 乌拉特前旗| 竹溪县| 阳谷县| 饶平县| 无棣县| 灵石县| 卢龙县| 宕昌县| 通州区| 高陵县| 柳林县| 林西县| 二手房| 镶黄旗| 芮城县| 驻马店市| 连州市| 旬邑县| 文成县|