最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入理解JAVA中的聚集和組合的區(qū)別與聯(lián)系

 更新時(shí)間:2016年05月16日 15:29:42   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇深入理解JAVA中的聚集和組合的區(qū)別與聯(lián)系。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧

選自《JAVA語(yǔ)言程序設(shè)計(jì)-基礎(chǔ)篇(原書(shū)第8版)》

定義:一個(gè)對(duì)象可以包含另一個(gè)對(duì)象。這兩個(gè)對(duì)象之間的關(guān)系稱為組合(composition)。

組合實(shí)際上是聚集關(guān)系的一種特殊形式。聚集模擬了具有(has-a)關(guān)系,表示兩個(gè)對(duì)象之間的歸屬關(guān)系。歸屬關(guān)系中的所有者對(duì)象稱為聚集對(duì)象(aggregation object),而它的類(lèi)稱為聚集類(lèi)(aggregating class)。歸屬關(guān)系中的從屬對(duì)象稱為被聚集類(lèi)(aggregated object),而它的類(lèi)被稱為被聚集類(lèi)(aggregated class)。

一個(gè)對(duì)象可以被幾個(gè)其他聚集對(duì)象所擁有。如果一個(gè)對(duì)象只歸屬于一個(gè)聚集對(duì)象,那么它和聚集對(duì)象之間的關(guān)系就稱為組合(composition)。例如:“一個(gè)學(xué)生有一個(gè)名字”就是組合關(guān)系,“一個(gè)學(xué)生有一個(gè)地址”就是聚集關(guān)系,因?yàn)橐粋€(gè)地址可以被幾個(gè)學(xué)生所共享。

UML中,實(shí)心菱形表示組合關(guān)系,空心菱形表示聚集關(guān)系。如圖:

聚集關(guān)系通常被表示為聚集類(lèi)中的一個(gè)數(shù)據(jù)域,如圖:

聚集還可以存在于同一類(lèi)的多個(gè)對(duì)象之間。例如:一個(gè)人可能有一個(gè)管理者或者多個(gè)管理者。一個(gè)管理者可用變量表示,多個(gè)則可使用數(shù)組,如圖:

到這里,基本上聚集和組合的關(guān)系就不言自明了。

以上這篇深入理解JAVA中的聚集和組合的區(qū)別與聯(lián)系就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • spring框架配置實(shí)體類(lèi)復(fù)雜屬性注入xml文件過(guò)程詳解

    spring框架配置實(shí)體類(lèi)復(fù)雜屬性注入xml文件過(guò)程詳解

    這篇文章主要介紹了spring框架配置實(shí)體類(lèi)復(fù)雜屬性注入xml文件過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Spring Boot深入分析講解日期時(shí)間處理

    Spring Boot深入分析講解日期時(shí)間處理

    項(xiàng)目中使用LocalDateTime系列作為DTO中時(shí)間的數(shù)據(jù)類(lèi)型,但是SpringMVC收到參數(shù)后總報(bào)錯(cuò),為了配置全局時(shí)間類(lèi)型轉(zhuǎn)換,嘗試了如下處理方式
    2022-06-06
  • Java中的Phaser并發(fā)階段器詳解

    Java中的Phaser并發(fā)階段器詳解

    這篇文章主要介紹了Java中的Phaser并發(fā)階段器詳解,Phaser由JDK1.7提出,是一個(gè)復(fù)雜強(qiáng)大的同步輔助類(lèi),是對(duì)同步工具類(lèi)CountDownLatch和CyclicBarrier的綜合升級(jí),能夠支持分階段實(shí)現(xiàn)等待的業(yè)務(wù)場(chǎng)景,需要的朋友可以參考下
    2023-12-12
  • Springboot啟動(dòng)流程詳細(xì)分析

    Springboot啟動(dòng)流程詳細(xì)分析

    這篇文章主要介紹了SpringBoot啟動(dòng)過(guò)程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-12-12
  • JAVA中的Launcher類(lèi)解析

    JAVA中的Launcher類(lèi)解析

    這篇文章主要介紹了JAVA中的Launcher類(lèi)解析,Launcher作為JAVA應(yīng)用的入口,根據(jù)雙親委派模型,Laucher是由JVM創(chuàng)建的,它類(lèi)加載器應(yīng)該是BootStrapClassLoader, 這是一個(gè)C++編寫(xiě)的類(lèi)加載器,是java應(yīng)用體系中最頂層的類(lèi)加載器,需要的朋友可以參考下
    2023-09-09
  • 解決Spring事務(wù)@Transactional多層嵌套失效問(wèn)題

    解決Spring事務(wù)@Transactional多層嵌套失效問(wèn)題

    在使用Spring進(jìn)行事務(wù)管理時(shí),可能會(huì)遇到事務(wù)失效的問(wèn)題,主要原因包括數(shù)據(jù)庫(kù)不支持事務(wù)、方法訪問(wèn)級(jí)別不是public、未被Spring管理的Bean、當(dāng)前類(lèi)的方法內(nèi)部調(diào)用以及配置的事務(wù)傳播性不當(dāng)?shù)?解決事務(wù)失效的方法有使用聲明式事務(wù)處理采用合適的事務(wù)傳播行為
    2024-11-11
  • java 中數(shù)組初始化實(shí)例詳解

    java 中數(shù)組初始化實(shí)例詳解

    這篇文章主要介紹了 本文主要講數(shù)組的初始化方法、可變參數(shù)列表以及可變參數(shù)列表對(duì)函數(shù)重載的影響的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 深入理解Java8新特性之Lambda表達(dá)式的基本語(yǔ)法和自定義函數(shù)式接口

    深入理解Java8新特性之Lambda表達(dá)式的基本語(yǔ)法和自定義函數(shù)式接口

    Lambda 表達(dá)式,也可稱為閉包,它是推動(dòng) Java 8 發(fā)布的最重要新特性。Lambda 允許把函數(shù)作為一個(gè)方法的參數(shù)(函數(shù)作為參數(shù)傳遞進(jìn)方法中)。使用 Lambda 表達(dá)式可以使代碼變的更加簡(jiǎn)潔緊湊
    2021-11-11
  • 關(guān)于SpringBoot接收json格式的Demo案例

    關(guān)于SpringBoot接收json格式的Demo案例

    這篇文章主要介紹了關(guān)于SpringBoot接收json格式的Demo案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Spring?Data?Jpa框架最佳實(shí)踐示例

    Spring?Data?Jpa框架最佳實(shí)踐示例

    這篇文章主要為大家介紹了Spring?Data?Jpa框架最佳實(shí)踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-02-02

最新評(píng)論

遂宁市| 和田县| 桐柏县| 普兰店市| 凭祥市| 台中县| 隆安县| 手机| 阿拉善右旗| 漾濞| 军事| 永善县| 商南县| 荥经县| 方城县| 七台河市| 法库县| 略阳县| 高陵县| 万宁市| 个旧市| 广州市| 抚顺县| 城固县| 辽阳市| 庆城县| 黑龙江省| 长子县| 武威市| 衡山县| 石家庄市| 紫金县| 任丘市| 湖口县| 惠州市| 怀柔区| 扬州市| 漯河市| 桂阳县| 延长县| 通辽市|