UML---六种关系

六种关系

在这里插入图片描述

各种关系介绍

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

UML图中使用一条带有空心三角箭头的虚线指向接口。

在这里插入图片描述
二.泛化
泛化表现为继承或实现关系,具体形式为类与类之间的继承关系,接口与接口之间的继承关系,类与接口的实现关系.就是说一个类(子类)继承另一个类(父类)的功能,并可以增加他自己的新功能的能力.

UML图中使用一条带有空心三角箭头的实线指向父类(基类)
在这里插入图片描述
三.依赖

是类与类之间的连接,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类,依赖关系是单向的.比如:类A使用到了类B,这种依赖具有偶然性,临时性,是非常脆弱的关系.但是类B的变化会影响到类A.

1.类B以参数的形式传入类A的方法
2.类B以局部变量的形式存在于类A的方法中
3.类A调用类B的静态方法

UML图中使用一条带有箭头的虚线指向被依赖的类

在这里插入图片描述
四.关联
类与类之间的联接,它使一个类知道另一个类的属性和方法.例如:如果A依赖于B,则B体现为A的全局变量
关联关系有双向关联和单向关联,用单箭头表示单向关联,双箭头或者不使用箭头表示双向关联
双向关联:两个类都知道另一个类的公共属性和操作
单向关联:只有一个类知道另外一个类的公共属性和操作

UML图中使用一条实线连接相同或不同类
在这里插入图片描述
五.聚合
是关联关系的一种,是强的关联关系;聚合关系是整体和个体的关系.普通关联关系的两个类处于同一层次上,而聚合关系的两个类处于不同的层次,一个是整体,一个是部分,同时,是一种弱的"拥有"关系.此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;比如计算机与CPU,公司与员工的关系等;表现在代码层面,和关联关系是一致的,只能从语义级别来区分

UML图中使用一条带有虚心菱形的实线来表示

在这里插入图片描述
六.组合
是关联关系的一种,是比聚合强的关联关系.他要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期
组合关系是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一致。他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑,window窗口和frame,在窗口中创建一个frame时必须把它附加到窗口上,当窗口消失时frame也就消失了;表现在代码层面,和关联关系是一致的,只能从语义级别来区分

UML图中使用一条带有实心菱形的线来表示

在这里插入图片描述
几种关系所表现的强弱程度依次为:组合>聚合>关联>依赖

发布了38 篇原创文章 · 获赞 8 · 访问量 3800

猜你喜欢

转载自blog.csdn.net/dingmengwei/article/details/103545989