一、类图介绍
在 UML 2.0 的 13 种图形中,类图是使用频率最高的 UML 图之一。类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。类图表示类、接口和它们之间的协作关系,用于系统设计阶段。类图用三个矩形表示,最上面的部分标识类的名称;中间的部分标识类的属性;最下
面的部分标识类的方法,如下图所示:
二、类关系介绍
类与类之间的关系主要有六种:关联、聚合、组合、继承、实现和依赖,这六种关系的箭头表示如下:
关联(Association):是一种拥有的关系,具有方向性,如果一个类单方向的访问另一个类,则称为单向关联(用一个箭头的实线表示);如果两个类对象可以互相访问,则称为双向关联(用两个箭头或不用箭头的实线表示);一个对象能访问关联对象的数目叫做“多重性”。用带普通箭头的实线表示 ,箭头指向被拥有者,或不用箭头的实线表示 。
依赖(Dependency):如果一个类的改动会影响到另一个类,则两个类之间存在依赖关系,一般而言,依赖是单向的。用带普通箭头的虚线表示 ,箭头指向被依赖者。
聚合(Aggregate):是整体与部分的关系。当某个实体聚合成另一个实体时,该实体还可以是另一个实体的部分。用带空心菱形的实线表示 ,菱形指向整体。
组合(Combination):整体与部分的关系,组合比聚合更加严格,当某个实体组合成另一个实体时,二者具有相同的生命周期,例如手臂和人之间存在的是组合关系。用带实心菱形的实线表示 ,菱形指向整体。
泛化(Generalization):表示一个更泛化的元素和一个更具体的元素之间的关系,与继承是同一个概念。用带三角箭头的实线表示 ,箭头指向父类。
实现(Realization):类与接口的关系,类实现接口。
用带三角箭头的虚线表示 ,箭头指向父接口。
这六种类关系中,组合、聚合和关联的代码结构一样,可以从关系的强弱来理解,各类关系从强到弱依次是:继承→实现→组合→聚合→关联→依赖。
三、完整类图

类关系记忆技巧
继承实现:用空心三角箭头表示。
记忆技巧:
1、空心三角箭头表示继承或实现。
2、实线表示继承,是 is-a 的关系,表示扩展,不虚,很结实;
3、虚线表示实现,虚线代表“虚”无实体。
关联依赖:用普通箭头表示。
记忆技巧:
1、虚线表示依赖关系:临时用一下,若即若离,虚无缥缈,若有若无;表示一种使用关系,一个类需要借助另一类来实现功能;一般是一个类将另一个类作为参数使用,或作为返回值。
2、实线表示关联关系:关系稳定,实打实的关系,铁哥们;表示一个类对象和另一个类对象有关联;通常是一个类中有另一个类对象作为属性。
组合聚合:用菱形表示。
记忆技巧:
1、菱形就是像是一个盛东西的器皿(比如盘子);
2、聚合:空心菱形,代表空器皿里可以放很多相同的东西,聚集在一起(箭头方向所指的类);整体和局部的关系,两者有独立的生命周期,是 has-a 的关系;弱关系,消极的词:弱-空。
3、组合:实心菱形,代表器皿里已经有实体结构的存在,生死与共;整体与局部的关系,和聚合关系对比,关系更加强烈;两者具有相同的生命周期,contains-a 的关系;强关系,积极的词:强-满。
注意:UML 类关系图中,没有实心箭头。