UML图中的符号

简介: http://blog.sina.com.cn/s/blog_640e6f8d0100gbkt.html 类之间的关系 UML把类之间的关系分为以下5种. ● 关联:类A与类B的实例之间存在特定的对应关系 ● 依赖:类A访问类B提供的服务 ● 聚集:类A为整体类,类B为局部类,类A的对象由类B的对象组合而成 ● 泛化:类A继承类B ● 实现:类A实现了B接口 关联(Association) 关联指的是类之间的特定对应关系,在UML中用带实线的箭头表示。

http://blog.sina.com.cn/s/blog_640e6f8d0100gbkt.html

类之间的关系

UML把类之间的关系分为以下5种.

● 关联:类A与类B的实例之间存在特定的对应关系

● 依赖:类A访问类B提供的服务

● 聚集:类A为整体类,类B为局部类,类A的对象由类B的对象组合而成

● 泛化:类A继承类B

● 实现:类A实现了B接口

关联(Association)

关联指的是类之间的特定对应关系,在UML中用带实线的箭头表示。按照类之间的数量对比,关联

可以分为以下三种:

● 一对一关联

● 一对多关联

● 多对多关联

注意:关联还要以分为单向关联和双向关联

依赖(Dependency)

依赖指的是类之间的调用关系,在UML中用带虚线的箭头表示。如果类A访问类B的属性或者方法,

或者类A负责实例化类B,那么可以说类A依赖类B。和关联关系不同,无须在类A中定义类B类型的属性。

聚集(Aggregation)

聚集指的是整体与部分之间的关系,在UML中用带实线的菱形箭头表示。

聚集关系还可以分为两种类型:

● 被聚集的子系统允许被拆卸和替换,这是普通聚集关系。

● 被聚集的子系统不允许被拆卸和替换,这种聚集称为强聚集关系,或者组成关系。

注:强聚集(组成)可用带实线的实心菱形箭头表示。

泛化(Generalization)

泛化指的是类之间的继承关系,在UML中用带实线的三角形箭头表示。

实现(Realization)

实现指的是类与接口之间的关系,在UML中用带虚线的三角形箭头表示。

以下是GOF设计模式中的描述

箭头和三角表示子类关系。

虚箭头线表示一个类实例化另一个类的对象,箭头指向被实例化的对象的类。

普通的箭头线表示相识(acquaintance也叫关联或者引用),意味着一个对象仅仅知道另一个对象。相识的对象可能请求彼此的操作,但他们不为对方负责,它只标示了对象间较松散的耦合关系。

尾部带有菱形的箭头线表示聚合(aggregation),意味着一个对象拥有另一个对象或者对另一个对象负责。一般我们称一个对象包含另一个对象,或者是另一个对象的一部分。聚合意味着聚合对象和其所有者具有相同的生命周期。   
          抽象类名以斜体表示,抽象操作也以斜体表示。图中可以包括实现操作的伪代码,代码将出现在带有褶角的框中,并用虚线将该褶角框与代码所实现的操作相连。

 

UML中的依赖、关联、泛化和实现以及各种符号含义

 

 

图一:

UML中的依赖、关联、泛化和实现以及各种符号含义

 



此实线箭头表示, 继承, 从一个非接口类的继承.

图二:

UML中的依赖、关联、泛化和实现以及各种符号含义



那条连线表示双向关联:
看左边, Flight扮演assignedFights角色, 有0到1个Plane跟他关联(一个航班要么取消了没有飞机,要么只能对应一架飞机)
看右边, Plane扮演着assignedPlane角色, 有0到多个Flight跟他关联(一个飞机可以参与多个航班, 也可以停在仓库里面烂掉)

图三:

UML中的依赖、关联、泛化和实现以及各种符号含义



那条连线表示单向关联:
基本的意义跟上面的是一样的, 唯一不同的是, 右边的类对左边的类是一无所知的.

图四:

UML中的依赖、关联、泛化和实现以及各种符号含义

那个大的包围的框叫软件包, 名字为Account, 就一些可以归类的类包装起来.

图五:

UML中的依赖、关联、泛化和实现以及各种符号含义

如此虚线的箭头表示实现一个接口.

图六:

UML中的依赖、关联、泛化和实现以及各种符号含义



水平的连线还是表示上面所说的关联, 但从关联连线中引伸出来的虚线, 这意味当Flight类的一个实例关联到 FrequentFlyer 类的一个实例时,将会产生 MileageCredit 类的一个实例.

图七:
UML中的依赖、关联、泛化和实现以及各种符号含义

带菱形的箭头表示基本聚合, 由上图知道, Wheel类扮演wheels角色, 聚合4个到Car对象里面去,
空心的菱形表示Wheel对象并不随Car的创建而创建,销毁而销毁.

图八:

UML中的依赖、关联、泛化和实现以及各种符号含义



意义和上面类似, 唯一不同的是, 实心菱形表示Department对象随Company对象的创建而创建,销毁而销毁.

图九:

UML中的依赖、关联、泛化和实现以及各种符号含义



表示反射关联, 显示一个Employee类如何通过manager / manages角色与它本身相关。当一个类关联到它本身时,这并不意味着类的实例与它本身相关,而是类的一个实例与类的另一个实例相关。

相关文章
|
uml
UML类图符号理论
UML类图符号理论
105 0
|
uml
浅析UML类图符号理论
浅析UML类图符号理论
96 0
|
uml
浅谈UML类图符号记忆
浅谈UML类图符号记忆
98 0
UML类图中 前缀符号 + - # ~ 的含义
UML类图中 前缀符号 + - # ~ 的含义
UML类图中 前缀符号 + - # ~ 的含义
|
设计模式 数据可视化 测试技术
【设计模式】UML类图关系与符号
UML-Unified Model Language 统一建模语言,是在开发阶段,说明、可视化、构建和书写一个面向对象软件的开放方法。统一建模语言(UML)是一种模型化语言。模型大多以图表的方式表现出来。一份典型的建模图表通常包含几个块或框,连接线和作为模型附加信息之用的文本。
171 0
【设计模式】UML类图关系与符号
|
设计模式 数据可视化 Java
UML类图关系符号
UML(Unified Modeling Language)统一建模语言,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 balabala。。。。。。一大堆平常我们在学习设计模式或者学习某个系统的架构时,大多都会接触到UML图,我个人最常看到的就是类图,序列图。 由经常接触,很多UML的符号不是在了解,导致很多图看不太明白。所以就是从网上搜集一些资料作下记录以便及时查看。 本文主要是讲述类图中类与类之间的关系的描述符号
UML类图关系符号
|
uml 应用服务中间件 AHAS
|
2月前
|
uml
UML之类图
UML之类图
51 1