【问题标题】:Practical reasons for referencing the same type within itself?内部引用相同类型的实际原因?
【发布时间】:2013-05-17 17:19:16
【问题描述】:

除了可能的构造函数和复制/克隆。是否需要引用与自身类型相同的对象?

例如

class TEST {
  TEST x;

  void dosomething() {
    TEST tmp;
    ...
  }

  TEST another_possible() {
    ...
  }
}

谢谢。

【问题讨论】:

  • 不少。我们必须枚举所有吗?
  • 除了列表/树结构之外的任何东西都很好:)

标签: oop language-agnostic


【解决方案1】:

是的。例如:

  • 链表节点引用下一个节点(也可能是前一个节点)。
  • 一个树节点可以引用其他树节点——作为子节点或作为父节点。
  • 一个图节点可以引用相邻的图节点。
  • 一个实例可以包装另一个实例(例如,java.lang.Throwable and its cause)。

【讨论】:

  • 链表是树,任何树都是图。
  • 是的。前三个项目符号在概念上是相关的,但在实现和熟悉度上有所不同。
【解决方案2】:

是的;它被称为递归数据类型。例如,对于树状数据结构:

public class Node
{
    public string Name;
    public List<Node> Children; 
}

【讨论】:

    【解决方案3】:

    【讨论】:

      【解决方案4】:

      我有点惊讶(反)模式 Singleton 还没有发布。 http://en.wikipedia.org/wiki/Singleton_pattern

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-06
        • 2022-01-24
        • 2019-08-04
        • 1970-01-01
        • 2015-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多