UML中引用对象和值对象之间有什么区别?

时间:2011-07-12 19:57:37

标签: object reference uml

我不理解Martin Fowler的“UML Distilled”一书中的描述。

2 个答案:

答案 0 :(得分:4)

将引用对象视为具有其自身“生命”的特定实例,几个人可能会感兴趣。例如,Employee或Order。如果我去获得员工编号83并询问其某些属性并且您做同样的事情我们希望得到相同的答案,如果我更改员工的电话号码,那么您会看到更改:

  

我们都指的是同一个对象

值对象是“按值”复制有意义的东西。福勒给出的一个例子是日期。该订单的日期是什么时候?那个员工的生日是什么时候?我们有一份日期副本,暗示改变它是愚蠢的。没有期望这个价值对象“知道”这是一个员工的生日 - 这只是一个有用的价值来传递。

答案 1 :(得分:0)

引用是对象值所在的地址(指针)。值是二进制表示的实际值。如果指定值,则将值的副本复制到新变量中。如果指定引用,则只传递保存值的地址。