2016-09-24 66 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