深刻懂得JAVA中的集合和組合的差別與接洽。本站提示廣大學習愛好者:(深刻懂得JAVA中的集合和組合的差別與接洽)文章只能為提供參考,不一定能成為您想要的結果。以下是深刻懂得JAVA中的集合和組合的差別與接洽正文
選自《JAVA說話法式設計-基本篇(原書第8版)》
界說:一個對象可以包括另外一個對象。這兩個對象之間的關系稱為組合(composition)。
組合現實上是集合關系的一種特別情勢。集合模仿了具有(has-a)關系,表現兩個對象之間的歸屬關系。歸屬關系中的一切者對象稱為集合對象(aggregation object),而它的類稱為集合類(aggregating class)。歸屬關系中的附屬對象稱為被集合類(aggregated object),而它的類被稱為被集合類(aggregated class)。
一個對象可以被幾個其他集合對象所具有。假如一個對象只歸屬於一個集合對象,那末它和集合對象之間的關系就稱為組合(composition)。例如:“一個先生有一個名字”就是組合關系,“一個先生有一個地址”就是集合關系,由於一個地址可以被幾個先生所同享。
UML中,實心菱形表現組合關系,空心菱形表現集合關系。如圖:
集合關系平日被表現為集合類中的一個數據域,如圖:
集合還可以存在於統一類的多個對象之間。例如:一小我能夠有一個治理者或許多個治理者。一個治理者可用變量表現,多個則可以使用數組,如圖:
到這裡,根本上集合和組合的關系就不言自清楚明了。
以上這篇深刻懂得JAVA中的集合和組合的差別與接洽就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。