【问题标题】:Representing a tree where the root has exactly one child of this specific type表示一棵树,其中根只有一个此特定类型的子节点
【发布时间】:2021-05-21 15:15:45
【问题描述】:

我想建模一棵树,其中类Node 由自身的多个实例组成。

现在如何表示一个约束,例如“树的根可以包含所需数量的节点,但应该只有一个这种特定类型节点的实例”(特殊节点本身可以​​包含任何东西

通过下面的图a,我们在两个组合之间有冲突,我可以添加尽可能多的specialElement到一个根,因为它们是treeNodes

我如何表示这个约束?

【问题讨论】:

    标签: inheritance tree constraints uml class-diagram


    【解决方案1】:

    您当前的模型有一个缺陷:rootspecialElement 都继承了它们所社会化的TreeNode 的组合。因此,您在rootspecialElement 之间表示的组合被理解为另外一个组合。

    有三种简单的方法:

    更多想法,您也可以查看 UML 中的this question about covariant associations

    【讨论】:

    【解决方案2】:

    您在关联的末尾缺少属性。更具体的属性可以子集更一般的属性,并具有正好 [1] 的多重性。

    【讨论】:

    • 我想你需要提供一张图纸才能使它成为一个好的答案。尤其是subsets 部分不明显。
    • 这是一个很好的答案,如果您添加图表,我会投票赞成!
    猜你喜欢
    • 2012-07-07
    • 1970-01-01
    • 2018-12-17
    • 2022-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多