UML-----关系

来源:互联网 发布:中国2016年cpi数据 编辑:程序博客网 时间:2024/05/17 02:58

        关系就像一纽带,把各个事物联系起来.在UML建模中,关系贯穿于建模的全过程,UML定义的关系最要有六种:关联,

 

泛化,依赖,实现.

 

 

一.关联(Association)

 

       用实线+箭头表示关联关系.箭头指向被依赖的元素.

 

 

        关联关系表示不同类的实例之间的结构关系或者语义联系,关联关系也可以表示一种通信关系,代表一个对象知道

 

或者认识另一个对象.关联的两个对像彼此间没有任何强制性的约束,只要两者同意,可以随时解除关系或者是进行关联,

 

它们在生命周期问题上没有任何约定被关联的对象还可以被其他对象关联,所以关联是可以共享的.所以关联关系属于

 

一种弱关系.

 

        释义:一台电脑从买到报废可以不断的换USB的鼠标,然而没有理由认为鼠标坏了,电脑也坏了;或者是电脑坏了,可

 

鼠标还是好的,故他们的生命期没有关联,而且这个鼠标还可以用到其他的电脑上,本台电脑还可以使用其他的鼠标,所

 

以鼠标和电脑都是可以共享的.

 

        在关联中还有两种特殊的关联关系,现在我们就来了解一下吧:

 

1.聚合关系

 

        用实线+空心菱形表示,聚合聚合就是把事物聚集到一起.空心菱形指向被聚集的元素.

 

 

        聚合是关联关系的一种特例,它体现的是整体与部分,拥有的关系,即has--a的关系,此时整体与部分之间是可以分离

 

的,他们之间具有各自的生命周期.一方不存在的时候,另一方还可能存在.

 

        释义:CUP是一台Computer 不可缺少的一部分,但是他们的生命周期是不同的,一台电脑不能工作了 ,但是CUP还

 

有可能是好的.而且,在电脑还没有生产出来,CUP就已经生产出来了.

 

2.组合关系

 

        用实线+实心菱形表示,实心菱形指向被组合的元素.

 

        组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同

 

样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束.也

 

就是说,整体的那一方不存在了,另外一方也不存在了.

 

        释义:孕妇肚子里面婴儿,婴儿主要通过母亲获得营养,如果母亲死亡了,婴儿也死亡了,所以母亲和婴儿是共存亡的.

 

二.泛化(Generalization)(继承)

 

         泛化关系又称为继承关系,用实线和空心三角形表示,空心三角形指向被继承的元素.

        泛化关系指的是一个类继承另外一个类的功能,并可以增加它自己的新功能的能力,泛化是类与类或者接口与接口

 

之间最常见的关系之一.

 

        释义:在道路上,我们经常可以看见有很多的汽车,汽车能跑,汽车需要人来驾驶,其中卡车和小轿车也能跑,并且也需

 

要人来驾驶,我们就是可以说卡车和小轿车继承了汽车的特点.

 

三.依赖(Dependency)

 

        用虚线+箭头表示依赖关系,箭头指向被依赖的元素:

 

        依赖关系可以简单的理解,就是一个类(human)使用到了另一个类(Air),而这种关系是具有偶然的,临时性的,非常弱

 

的,但是类(Air)的变化会影响到类(Human).

 

        释义:一个人自生就需要不停的呼吸,人生活中,都离不开空气,一旦离开了空气,人就无法再生活,所以说,人依赖着空

 

气生活,空气的变化会给人带来疾病.

 

四.实现(Realization)

 

        用虚线+空心三角形表示实现关系,空心三角形指向需要实现的元素.

 

 

 

        实现指的是一个Class类实现Interface接口(可以是多个)的功能,实现是类与接口之间最常见的关系之一.

 

        释义:在软件开发中,用户提出一个可以实现的功能,我们通过提供的接口用代码把其功能实现了.

 

 

原创粉丝点击