你如何表示可以在UML中包含自身或其父实例的泛化?

时间:2011-02-01 16:38:59

标签: uml

例如,请考虑以下内容:有一个类“文本组”,它是类“文本对象”的概括。文本组可以包含一个或多个文本对象或一个或多个文本组。我如何用UML表示这个?任何相关链接?

谢谢!

4 个答案:

答案 0 :(得分:1)

认为你想要Composite Pattern

第h

答案 1 :(得分:0)

我认为你只是复合它就像任何其他类一样。

答案 2 :(得分:0)

泛化显示父类和子类之间的继承树中的关系。如果要显示包含,请使用合成或聚合关系。如上所述,复合设计模式非常适合您的问题。您将compostion与接口一起使用,该接口使用合成层次结构中的节点和叶类实现。

答案 3 :(得分:0)

类不限于单个关系,可以自引用。您可以绘制泛化关系和组合关系。

class diagram

但是,我会质疑你在自引用类中对“一个或多个”多重性的规范,因为这需要循环或无限递归引用。 “零或更多”可能更合适。我也会质疑单个对象作为一种群体的语义,听起来可能是反直觉的。