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

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

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

選自《JAVA語(yǔ)言程序設(shè)計(jì)-基礎(chǔ)篇(原書第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),而它的類稱為聚集類(aggregating class)。歸屬關(guān)系中的從屬對(duì)象稱為被聚集類(aggregated object),而它的類被稱為被聚集類(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)系通常被表示為聚集類中的一個(gè)數(shù)據(jù)域,如圖:

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    JAVA中的Launcher類解析

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

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

    在使用Spring進(jìn)行事務(wù)管理時(shí),可能會(huì)遇到事務(wù)失效的問題,主要原因包括數(shù)據(jù)庫(kù)不支持事務(wù)、方法訪問級(jí)別不是public、未被Spring管理的Bean、當(dāng)前類的方法內(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)論

承德县| 黄冈市| 仙游县| 左贡县| 那曲县| 余姚市| 岑巩县| 太仆寺旗| 昌图县| 营口市| 扎兰屯市| 仙桃市| 德化县| 大田县| 根河市| 综艺| 营口市| 沿河| 武隆县| 利津县| 徐水县| 元氏县| 吉木萨尔县| 延长县| 太康县| 建瓯市| 锡林郭勒盟| 巴彦淖尔市| 高平市| 东方市| 巴林右旗| 墨江| 英德市| 津南区| 遵义市| 舒兰市| 荣昌县| 枣强县| 武夷山市| 贡觉县| 武清区|