【问题标题】:a class variable having the same type of Class itself具有与 Class 本身相同类型的类变量
【发布时间】:2015-11-29 20:36:42
【问题描述】:

今天我在工作单位看到一个类似这样的课程:

public class A {
    private Map<String, A> myMap = Maps.newHashMap();
}

代码编译、工作并执行它应该做的事情。但它可以重构为不同的设计。但我不明白为什么选择这种设计。

你可以做这样的傻事:

this.myMap.get("x").myMap.get("x").myMap.get("x");

我的问题:

真的有需要应用这种设计的好情况吗?为什么?

【问题讨论】:

    标签: class oop object design-patterns


    【解决方案1】:

    一棵树立刻浮现在脑海:一个节点包含一个节点列表。

    一个人有孩子,孩子也是人,谁也可以有孩子。

    【讨论】:

    • 展开,这可能是有道理的:public class Person{ Map&lt;string, Person&gt; relationshipMap } 其中relationshipMap 是人的集合,字符串描述了关系(母亲、父亲、孩子等)
    猜你喜欢
    • 2011-09-15
    • 1970-01-01
    • 2019-11-03
    • 1970-01-01
    • 2020-07-18
    • 2016-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多