关系(聚合,组合)是否替换属性?

时间:2011-07-23 00:31:29

标签: uml

我是UML建模的新手,所以请耐心等待。

假设我有一个属性students的类,它是Student个实例的列表。我已经设置了Student类的聚合关系,它也在图中。这个关系是替换容器类中的#students : Student[]等属性条目,还是属性和关系可以共存?

提前感谢您的任何答案!

3 个答案:

答案 0 :(得分:7)

简答:属性和关系是否都存在?否...

如果你的课程是软件课程,你可能有很多选择来展示它们:

enter image description here

但是如果您的课程不是软件类并且您为域建模,则应该更谨慎地将实体显示为属性或类。通常,如果实体是复杂类型,则显示为单独的类。但这不是一个规则:取决于背景。

enter image description here

答案 1 :(得分:0)

属性有助于识别对象的结构。聚合提供高级概述,该对象将包含一个(或多个)另一个类型。既不替换,而是显示对象类型之间的关系。

答案 2 :(得分:0)

您通常没有用户定义(或任何复杂)类的属性。您当然不会在UML中显示同一事物的属性和关联。如果我理解你的情况,你需要一个关联(或聚合/组合)......并且使用多重性来实现它。