EA&UML日拱一卒--类图::对象图(object diagram)

对象图的功能


类图用于说明类以及类之间的关系,但是它相对抽象,有时会比较难理解。比如下面的例子:


EA&UML日拱一卒--类图::对象图(object diagram)_第1张图片


上图是一个图形编辑软件的例子,我们有一个超类Shape和它的五个子类。其中ShapeComposite可以管理其他的Shape。还有一个Canvas类,管理ShapeComposite。


这些是好理解的部分。那么以下的部分呢?


比如说,ShapeComosite也是Shape的一种,也可以被另外一个ShapeComposite管理,这种关系可以无限次迭代。这一点就会稍微有一些难度。


UML对于这种问题给出的答案就是对象图(object diagram),用它来表示系统某一时刻各类的实例以及实例之间关系。


我们继续举例:假设有人使用软件画了下面一幅图。


EA&UML日拱一卒--类图::对象图(object diagram)_第2张图片

上图中三角形,椭圆形,长方形共同组成了一个复合图形,另外还有一个文本输入框。这个例子的对象图画出来就是下面这样:


EA&UML日拱一卒--类图::对象图(object diagram)_第3张图片


上图中,:Triangle:Ellipse:Rectangle组合成为一个复合图形Lamp:ShapeComposite,而Lamp:ShapeComposite又和ABC:TextBox一起被All:ShapeComposite管理。最后是Canvas对象,作为对象树的根节点管理着All:ShapeComposite对象。


对象图也可以说是系统的快照。


对象图要素


对象图主要有两种要素,对象和链接。


对象表示为中间被水平横线分割的矩形。上半部分用于显示对象名和类名。语法为:objectname:classname。其中下划线是必须的,objectname是可以省略的;下半部分用于显示对象的属性值。语法为attributename:type=value,其中type可以省略。属性值可以有多个,每个占一行。


链接是对象之间的连线,是关联等的实例。链接端也可以有代表角色的名称。


EA中的设定方法


像类名一样,对象名也是通过属性对话框的名称栏设定的。这里不重复。


属性值的设定比较特别,按照以下步骤进行:


  1. 在【Project Browser】窗口中选中需要设定属性值的对象。

  2. 启动上下文菜单并选中【Set Run State...】项目。

  3. 在出现的对话框中设定属性值。


具体如下图:


EA&UML日拱一卒--类图::对象图(object diagram)_第4张图片


如果阅读本文能给您带来些许收获,欢迎分享给更多的朋友!

阅读更多新文章,请扫描下面二维码,关注公众号【面向对象思考】

EA&UML日拱一卒--类图::对象图(object diagram)_第5张图片


你可能感兴趣的:(UML)