国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

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

2019-11-26 14:20:18
字體:
供稿:網(wǎng)友

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

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

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

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

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

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

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

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 唐海县| 冷水江市| 宁津县| 方山县| 江西省| 繁峙县| 延川县| 龙里县| 方正县| 贺兰县| 克东县| 中牟县| 武夷山市| 利川市| 普格县| 贡觉县| 南雄市| 舒城县| 固镇县| 河东区| 凉山| 襄樊市| 潞城市| 彝良县| 含山县| 深水埗区| 新蔡县| 庄浪县| 普格县| 邢台市| 大庆市| 镇平县| 田东县| 镇坪县| 沙湾县| 嵩明县| 平泉县| 响水县| 陇南市| 邵武市| 沾化县|