uml类图常见关系

1.泛化关系

泛化关系是继承或实现的关系,是is-a关系,具体表现为类与类的继承,接口与接口的继承,类对接口的实现关系。

2.依赖关系

依赖关系表示为一个类使用另一个类,这种使用关系是具有偶然性的、临时性的、非常弱的,一个类的变化会影响到另一个类,是use a关系,如果类A依赖于类B,那么类B可以是类A的局部变量,或类A方法的参数,或静态方法的调用。

3.关联关系

关联关系是一种强依赖关系,这种关系不存在依赖关系的偶然性,关系也不是临时的,是长期的,稳定的。双方的关系是平等的,可以单向关联也可以是双向关联。假如类A关联了类B,则类B是类A的全局变量(注意是全局变量,再看看上面的依赖关系),大多数关联都是单向关联,这比较容易维护,关于关联,在生活中我们常会说,类A持有类B的引用。

4.聚合关系

聚合关系是特殊的关联关系,是一种强的关联关系,他体现的是整体与部分关系,即has-a的关系,但是整体和部分是可以分离的,注意,是可以分离的。普通关联关系的两个类处于同一层次上,是平级的,而聚合关系的两个类处于不同的层次,一个是整体,一个是部分。同时,是一种弱的“拥有”关系。体现的是A对象可以包含B对象,但B对象不是A对象的组成部分。具体表现为,如果A由B聚合成,表现为A包含有B的全局对象,但是B对象可以不在A创建的时刻创建,这句话非常有意义,它在代码中通常体现成依赖注入的setter方法,即A对象可以随时创建B对象,再想想这不就体现了整体和部分是可以分离了吗?创建整体的时候可以不创建部分。

5.组合关系

组合关系也是特殊的关联关系,它体现一种contains a(拥有)关系,这种关系是比聚合还要强,也称为强聚合。体现了严格的整体和部分关系,两者是不可分割的,它们的生命周期是一致的。如果A由B组成,那么A就包含B的全局变量,并在创建A的同时创建B,在代码上我们通常是使用构造函数进行实现,也是依赖注入中构造函数的实现。

最后,我们来总结一下,泛化就不用多少了,大家都懂的,就是继承和实现接口,重点说下其它的吧,依赖,ClassB体现为ClassA的局部变量,我想用就用,用了就有关系,不用就没关系;关联,ClassB体现为ClassA的全局变量,不管你用不用,反正你知道我的存在了,持有了我的引用。聚合,是特殊的关联关系,用了就加强了关系,不用还是我只知道你的存在。聚合可以方便的持有多个类的引用,如使用List<>,所以当你发现有List<>等集合是可以使用聚合来表示,比如观察者模式的结构。组合,体现最强的关系,比如人出身了,必定也有头部吧,不然我真无法想象这个世界了。

(0)

相关推荐

  • visio怎么画UML图? visio绘制uml类图的教程

    visio是微软开发的一款画图软件,它可以画很多图,今天我就来告诉大家怎么使用visio进入UML图的界面 1.首先笔者用来做例子的是2010版的Visio 2.打开visio,选择如图红框中的“软件 ...

  • 如何利用Edraw Max设计软件设置UML活动图

    UML活动图是一种对于系统行为建模的常用工具图,一般情况下,有初始状态.活动.水平同步条.控制流和最终状态等构成.下面利用一个具体的实例说明UML活动图制作方法,操作如下: 操作方法 01 第一步,打 ...

  • 亿图图示专家中UML模型图该怎么绘制?

    在系统分析阶段,我们一般用UML来画很多图,主要包括用例图.状态图.类图.活动图.序列图.协作图.构建图.配置图等等.那么怎么使用亿图图示来画UML模型图呢? 1.下载亿图图示. 2.打开亿图图示,选 ...

  • 怎么使用PowerDesigner设计类图

    在采用面向对象语言设计软件时经常需要画类图,用来描述对象及对象间的关系,本文简单介绍怎么使用powerdesigner来设计类图 操作方法 01 打开PowerDesigner软件,选择菜单文件-&g ...

  • VS2013怎么查看项目的Class Diagram类图?

    VS2013怎么查看项目的Class Diagram类图? 1.在解决方案(Solution Explorer)视图中鼠标右键点击项目名称. 2.在Class View,和Source View这两个 ...

  • 如何用Rational rose创建类图

    类图是显示建模系统的模型,在类图里可以将类名,接口,数据类型,组件等类型囊括其中,对我们理解整个项目起着至关重要的作用. 操作方法 01 安装好rational rose 软件后,选择j2ee会看到如 ...

  • wps怎么使用关系图? wps关系图的修改方法

    想要在wps文件中插入关系图?插入之后,怎样修改关系图?比如图示的配色和个数,该怎么设置呢?下面我们就来看看详细的教程. 一.插入关系图的方法 1.打开wps,点击上方工具栏中的插入,在插入的下面就会 ...

  • 如何创建关系矩阵图?创建关系矩阵图的方法

    一个关系矩阵图为您展示了两者.三者或者四者之间的关系.矩阵图为您提供了关于优势.各个个人或方法所扮演的角色等.尽管矩阵图看起来复杂,但是它在分析客户.供应商.服务提供者.股东和员工之间的关系时很有帮助 ...

  • 推荐五个免费UML建模工具

    对于软件开发而言,统一建模语言UML为软件开发的全生命周期过程提供模型化和可视化支持,因此对于软件开发而已这是非常重要的,本文将分享几种UML建模工具 操作方法 01 WORD工具.利用word工具可 ...