编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

一张图读懂UML类图,UML类图关系快速入门!

标题还是夸大了些,本篇文章不会将UML的各种元素都提到,只是讲解各类之间的关系,看完本篇文章后,能看懂个各类之间的线条、箭头代表什么意思,当然理解了下面的UML类图,也足够应付日常的工作了。

最近正在学习设计模式,此图拿的是《大话设计模式》一书中的UML类图,当然UML类图是我用StarUML软件画的。

以下是UML类图

UML类图

1、看“动物”矩形框

UML类图类表示法

类图分为3层,第一层是类名称,如果是抽象类,用斜体表示;第二层是类的特性,通常就是字段和属性;第三层是类的操作,通常是方法或行为。注意特性或操作前面的符号,“+”表示public,“-”表示private,“#”表示protected。

2、接口,注意看下面2张图片

UML类图接口矩形表示法

UML类图接口棒棒糖表示法

接口有2种表示方法,矩形表示法和棒棒糖表示法。具体的解释说明,可以看上图。

不知道如何把棒棒糖表示法转为矩形表示法的可以看本站之前的文章:StarUML中类图如何显示interface

3、类与类以及类与接口的关系

继承关系:空心三角形+实线表示继承关系,比如:鸟类继承至动物类,如下图所示

UML类图继承关系

实现接口:空心三角形+虚线表示实现接口,比如:大雁实现了飞翔接口,如下图所示

UML类图实现接口

关联关系:用实线表示关联,当一个类知道另一个类时,可以用关联。比如:企鹅是一种很特别的鸟,他与气候有很大的关联,如下图所示

UML类图关联关系

依赖关系:用虚线箭头表示依赖关系。比如动物新陈代谢和繁殖都依赖于空气和水,如下图所示:

UML类图依赖关系

聚合关系:用空心菱形+实线箭头表示聚合关系,聚合表示一种弱的“拥有”关系,A对象可以包含B,但B不一定是A的一部分。比如:每只大雁都属于一个雁群,一个雁群可以有多只大雁,如下图所示:

UML类图聚合关系

合成(组合)关系:用实心菱形+实线箭头表示合成关系,和聚合关系不同的是,合成关系是一种严格的“拥有”关系。比如:鸟和翅膀就是合成关系,翅膀和鸟的生命周期是相同的,如下图所示:

UML类图合成(组合)关系

细心的同学可以发现,在合成关系的连线两端分别有数字“1”和“2”,这被称为基数,表示一端的类可以有几个实例,如果有无数个实例,可以用n表示,当然,关联关系和聚合关系也可以有基数。

至此,UML类图就基本讲完了,看懂UML类图也不算太难吧?


未经允许不得转载: 技术文章 » 项目管理 » 一张图读懂UML类图,UML类图关系快速入门!