UML类聚合到self

Den*_*nis 3 uml

我和我的小组正在制作一个程序,我们有一个树形结构.在这个树结构中,我们已经使得类别可以包含它自己.该计划基于您的费用,所以一个例子可能是:

你买了4个牛奶.这4种牛奶被归入"牛奶"类别.每个牛奶条目的价格(以及其他个人信息)在另一个类别聚合.

诀窍是我们希望类别类能够自己包含它,所以:

"牛奶"类别是"乳制品"类别的一部分,"乳制品"类别是"杂货"类别的一部分.

我们之所以希望它是这样的,是因为我们可以在当时移动批量产品.因此,如果您想将Milk移动到名为"Morning Stuff"的类别,则不必移动每一个,而只需移动整个类别.

图片是我们当前类别类的建模方式,但我们被告知如果没有进一步解释我们就无法做到.UML是否允许这样做?如果没有,我们如何使用UML对其进行建模?

类别UML部分

Chr*_*ian 5

是的,UML允许从类到自身的关联.同样地,允许聚合甚至组合.

您发布的图像显示聚合,而根据您的描述,我会选择一个合成(填充钻石):一个类别有一个或没有父级; 一个类别在某种程度上由其子女定义; 如果类别被删除,所有子项也将被删除.

聚合和组合之间的较长比较可以在这里找到.