您的位置:首页 > 其它

UML---四种关系(依赖,关联,泛化,实现)

2016-12-14 17:26 148 查看
前言:

我们学习到UMl的时候,首先应该了解一下他们之间的关系,以便于在画九种图的时候可以得心应手。

内容:

一、我们先通过下面一张图片(四种关系和表示图形)来了解一下要学的这些内容:



强弱关系:实现=继承>组合 >聚合 >关联 >依赖

二、逐个击破这几种关系:

1、关联关系(Association)

关联:他体现的是两个类或者类与接口之间语义级别的一种强依赖关系。不具有偶然性,临时性。

1.1普通关联

关系表示:用实线表示

例如:图书管理员和图书馆



1.2聚合关系(Aggregation)

聚合关系描述的是部分与整体关系的关联。它将一组元素通过关联组合成一个更大、更复杂的单元。他们之间没有生

命制约,整体和个体都可以单独存在。整体有存在意义,整体分散成部分后,部分也有自己存在意义。(整体是活的,部分也是活的)

关系表示:实线+空心菱形表示,松耦合。

例如:书和书架,书没有了,书架照样可以存在;汽车和轮胎,轮胎可以被多个汽车使用;火车和引擎,引擎可以被

多个火车使用。(一组对象 与单个对象的关系)



1.3组合关系(Composition)

组合关系则是一种比聚合更强的关联关系,也是整体和部分的关系。先有整体再有个体,个体不能离开整体单独存

在。整体是有存在意义,整体分散开成部分后,各个部分就失去了他的意义和作用(整体是活的,部分是死的)

关系表示:实线+实心的菱形表示。

例如:人和手,手不能离开人单独存在;窗口中包含菜单和按钮,菜单和按钮不能脱离窗口单独存在。(一个对象与

单个属性的关系)



2、依赖关系(Dependency)

依赖关系是一种使用关系,如一个类A用到了另一个类B,这种关系是具有偶然性的,临时性的,非常弱。但是类B的变化会影响到类A。

关系表示:用带箭头的虚线表示,箭头指向被依赖的对象。

例如:某人要过河,需要用到一条船。动物与氧气和水的关系。(对象方法依赖某个对象)



3、泛化关系(Generalization)

泛化关系体现的是一种继承关系,是一种特殊(子元素)/一般(父元素)关系。子元素共享了父元素得结构和行为,

同时还增加了自己的新功能(特性)。子元素(子用例,子类);父元素(父用例,父类)

关系表示:实线+空心三角形

例如:动物与狮子和大象的关系;查找图书与精确查找和模糊查找的关系。



4、实现关系(Realization)

实现是类元之间的语义关系,在该关系中一个类元描述了另一个类元保证实现的契约。一个类实现了一个接口。

关系表示;虚线+空心三角形

例如:遥控器实现了电视机换台的接口;大雁实现了飞翔接口。



总结:

1.关于依赖和关联的区分:

依赖具有偶然性,临时性。例如:动物依赖水,氧气;关联不具有偶然性,临时性,他具有持久性,如企鹅和南极气

候,这就是一个关联关系。强弱:关联关系 > 依赖

2.关于聚合和组合的区分:

聚合:整体有存在意义,整体分散成部分后,部分也有自己存在意义。(整体是活的,部分也是活的)或者(一组 对

象与单个对象的关系)例如:书和书架,两者分开照样可以单独存在。

组合:整体是有存在意义,整体分散开成部分后,各个部分就失去了他的意义和作用。(整体是活的,部分是死的)

或者(一个对象与单个属性的关系)例如:人和手,手不能离开人单独存在。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: