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

Uml 关系(聚合、组合)是否替换属性?,uml,Uml,我对UML建模相当陌生,所以请容忍我 假设我有一个属性为Student的类,该属性是Student实例的列表。我已经设置了一个与Student类的聚合关系,该类也在图中。此关系是否替换容器类中的属性条目(如#students:Student[]),或者该属性和关系是否可以共存 提前感谢您的回答 属性有助于识别对象的结构。聚合提供了对象将包含一个(或多个)其他类型的高级概述。两者都不替换,而是显示对象类型之间的关系。您通常没有用户定义(或任何复杂)类的属性。您当然不会在UML中显示同一事物的属性和

我对UML建模相当陌生,所以请容忍我

假设我有一个属性为
Student
的类,该属性是
Student
实例的列表。我已经设置了一个与
Student
类的聚合关系,该类也在图中。此关系是否替换容器类中的属性条目(如
#students:Student[]
),或者该属性和关系是否可以共存


提前感谢您的回答

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

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

简单回答:属性和关系是否都存在?不

但是如果您的类是软件类您可能有很多选择来显示它们:

但是如果您的类不是软件类,并且您对域进行了建模,那么您应该更加小心地将实体显示为属性或类。通常,如果实体是复杂类型,则显示为单独的类。但这不是一条规则:取决于上下文


谢谢您的回复。为什么一个人通常没有用户定义类的属性?因为这正是关联的目的。UML对用户定义的类型有单独的表示法。