对象内部的对象

时间:2009-06-16 23:05:43

标签: oop

当一个对象本身有一个相同类型的对象时,它叫什么?

示例:

public class Foo{

     public Foo myFoo;

}

4 个答案:

答案 0 :(得分:14)

我认为没有具体的名称。虽然这个概念用于许多不同的常见编程结构中。例如,在表示图形,树或链表时,节点通常会引用它们链接/连接的其他节点。

答案 1 :(得分:5)

这意味着Foo是一个'递归数据结构'。这样的例子是树,图,链表等。没有很多重要的程序写入不使用至少一些递归结构,例如,在任何SQL服务器实现中,以类似的方式定义执行的查询计划是很常见的。作为一个小例子,WHERE子句可能会被转换为FilterNode,该Node作用于从其他public interface Node { } public class FilterNode implements Node { public Node underlyingNode; public Condition filterCondition; } 收到的数据(如表扫描):

{{1}}

在许多情况下,整体结构形成一个有向无环图,这意味着它可以很容易地递归地安全地遍历它。但如果它有循环,那么你需要小心你不要进入无限递归(这是上面的另一个答案幽默地警告)。

答案 2 :(得分:4)

递归遏制......:)

答案 3 :(得分:1)

要添加Kibbee所说的,这是一种复合模式