2016-09-24 69 views
0

我對於面向對象編程有着相當初級的中級經驗。 一般來說,爲什麼或者在什麼情況下我們設計一個擁有自己對象集合作爲其成員的類? 有沒有一個很好的例子來理解這種用法​​?帶有自己對象集合的Java類

+1

一個示例情況是設計樹及其相關類。在這種情況下,一個節點有一個節點列表,可能是它的父節點,子節點和兄弟節點。 – lethanh

+0

謝謝,我遇到過這樣的樹,它可能有助於遞歸地解決問題。但是我正在尋找用戶定義的類,我們希望能夠在程序中跟蹤屬於類的對象。 – Ganga

回答

2

這樣的類/類型被稱爲遞歸數據類型或遞歸數據結構。例如,一個樹結構由一堆節點對象組成,每個節點對象都包含一個子節點列表。 請參閱 http://www.dreamincode.net/forums/topic/198160-data-structures-recursion-stacks-and-trees/

適合在Java中對這種遞歸結構建模的軟件設計模式稱爲複合。 請參閱https://dzone.com/articles/composite-design-pattern-java-0

+0

第二個鏈接是我試圖理解的!不熟悉設計模式。複合模式是這種用法似乎是!謝謝! – Ganga