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

前言:


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


内容:


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



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


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

1、关联关系(Association)

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

1.1普通关联

关系表示:用实线表示

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


1.2聚合关系(Aggregation)

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

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

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

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

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


1.3组合关系(Composition)

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

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

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

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

单个属性的关系)


2、依赖关系(Dependency)

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

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

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


3、泛化关系(Generalization)

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

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

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

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


4、实现关系(Realization)

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

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

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


总结:

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

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

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

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

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

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

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

 或者(一个对象与单个属性的关系)例如:人和手,手不能离开人单独存在。


  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值