attributes - UML 类图中的关联与属性

标签 attributes associations uml class-diagram

当我通读统一建模语言引用手册第二版

Attributes are generally used for pure data values without identity, such as numbers and strings.

Associations are used for connections among objects with identity.

不知道有没有简单的例子解释with/without identity是什么意思?

最佳答案

起初,忽略“身份”,想想没有它的情况。

现在,看下面的示例:一个类 User,具有三个属性,其中一个是另一个类 Address。

class User {
   String firstName;
   String lastName;
   Address address;
}

class Address {
      String streetName;
      int    streetNumber;
      String postalCode;

}

如果要画出上面这种情况的UML图,也就是关联,就会有这样的东西:

|用户|---->|地址|

如您所见,虽然 User 具有三个属性,但在图中,您只显示了一个,模型中有另一个类 Address。您可以在 User 框内显示其他两个属性 firstName 和 lastName。但是,就关联而言,就是它,用户和地址。

现在,回到“身份”部分。首先,您应该注意,在 Association 的一般表述中不需要讨论身份。如上所示,您可以在不引用“身份”概念的情况下谈论联想。我怀疑,他们在某些特定的背景下谈论身份。例如,如果你再考虑上面的例子,firstName 和 lastName 不能有身份,只有 Address 可以有身份。

关于attributes - UML 类图中的关联与属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17090886/

相关文章:

ruby-on-rails - 如何从我 View 中的 Rails habtm 集合对象中提取相关属性值

php - Symfony 3/Doctrine - 获取实体更改集中关联的更改

ruby-on-rails - 如何使用 has_and_belongs_to_many 将新模型与现有模型相关联

uml - 什么时候应该对接口(interface)使用圆圈表示法

drawing - 如何在PowerDesigner中隐藏符号编号?

attributes - NetworkX 节点属性图

python - 如何在Python中列出一个对象的所有属性?

java - 在纸上画一个UML抽象类不用斜体?

perl - 为什么不从其他包调用 Perl 属性处理程序?

c# - PHP版ASP.NET/C#property属性类