当我通读统一建模语言引用手册第二版
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/