揭秘UML对象图和类图的六大关系

开发 架构
UML对象图和类图你是否熟悉,本文就向大家介绍一下它们之间的关系,对象是类的实例,那么对象图就是类图的一个实例。

本文和大家重点讨论一下UML对象图和类图的几种关系,主要有依赖关系,泛化关系,关联关系,聚合关系,组合关系和实现关系等,希望通过本文的介绍你对UML对象图和类图的关系有明确的认识。

UML对象图和类图的关系

类图和UML对象图(对象是类的实例,那么对象图就是类图的一个实例,类图类名下面无下划线,而对象图是有的):

一、依赖关系(Dependence):

假设A类的变化引起了B类的变化,则说名B类依赖于A类。

依赖关系有如下三种情况:
1、A类是B类的一个成员变量;
2、A类是B类方法当中的一个参数;
3、A类向B类发送消息,从而影响B类发生变化;
使用带箭头的虚线表示

二、泛化关系(Generalization):

A是B和C的父类,B,C具有公共类(父类)A,说明A是B,C的一般化(概括,也称泛化)

在UML对象图和类图当中,对泛化关系有三个要求:
1、子类与父类应该完全一致,父类所具有的属性、操作,子类应该都有;
2、子类中除了与父类一致的信息以外,还包括额外的信息;
3、可以使用父类的实例的地方,也可以使用子类的实例;
使用带空心三角形的实线表示

三、关联关系(Association):

类之间的联系,如篮球队员与球队之间的关联(下图所示)。其中,关联两边的"employee"和“employer”标示了两者之间的关系,而数字表示两者的关系的限制,是关联两者之间的多重性。通常有“*”(表示所有,不限),“1”(表示有且仅有一个),“0...”(表示0个或者多个),“0,1”(表示0个或者一个),“n...m”(表示n到m个都可以),“m...*”(表示至少m个)。
在关联中有一种叫“限定关联”,还有一种谓之自身关联。另外,对象之间的关联就没那么复杂,只是将类的关联实例化而已。
使用带数字的实线表示

四、聚合关系(Aggregation):

UML对象图和类图的具体化关系表示的是整体和部分的关系,整体与部分可以分开
如:电话机包括一个话筒
电脑包括键盘、显示器,一台电脑可以和多个键盘、多个显示器搭配,确定键盘和显示器是可以和主机分开的,主机可以选择其他的键盘、显示器组成电脑;
使用带空心菱形的实线来表示

五、组合关系(Composition):

也是整体与部分的关系,但是整体与部分不可以分开
如:公司和部门,部门是部分,公司是整体,公司A的财务部不可能和公司B的财务部对换,就是说,公司A不能和自己的财务部分开;人与人的心脏
使用带实心菱形的实线来表示

六、实现关系(Implementation):

UML对象图和类图的实现关系是用来规定接口和实线接口的类或者构建结构的关系,接口是操作的集合,而这些操作就用于规定类或者构建的一种服务。
使用带空心三角形的虚线表示
 

【编辑推荐】

  1. UML对象图的表示法和用途
  2. 深入剖析UML对象图
  3. UML用例图三大关系揭秘
  4. 学习笔记 UML对象图解析
  5. 解析UML对象图建模技术及类图和对象图区别

 

 

责任编辑:佚名 来源: sina.com.cn
相关推荐

2010-07-09 10:45:11

UML类图关系

2010-06-29 10:40:37

UML类图关系

2010-07-06 09:35:37

UML六大关系

2010-07-05 09:34:45

UML类关系图

2010-04-14 08:40:38

UMLUML类间关系UML图

2010-06-11 18:09:26

UML对象图

2010-06-29 09:08:15

UML类图关系

2010-07-06 09:48:34

六大UML图

2010-07-07 14:19:55

UML用例图关系

2010-07-12 10:25:44

UML类图

2010-06-30 10:57:49

UML用例图

2010-06-18 14:43:28

UML关系图

2010-07-07 11:02:47

UML类图关系

2010-07-01 12:48:03

UML用例图

2010-06-12 18:30:57

UML类图关系

2010-06-29 13:11:40

UML类图依赖关系

2010-07-02 13:22:25

UML交互图

2010-07-08 15:28:39

UML类图依赖关系

2010-07-02 11:17:47

绘制UML图

2010-07-02 12:22:53

UML对象图
点赞
收藏

51CTO技术栈公众号