一、基本概念
类图是面向对象系统建模中最重要和最常用的图,是定义其他图的基础,类图最主要是用来显示系统中的类、接口以及它们之间的关系。
二、表示法
(1)类的表示法
由三部分组成:类名、属性(可以隐藏)、方法(可以隐藏)。
(2)接口的表示法
接口中包含方法,但是不包含属性。使用一个带有名称的圆圈表示。
(3)类型表示法
***共有类型使用“+”表示
***私有类型使用“-”表示
***保护类型使用“#”表示
三、关系
(1)泛化关系
***表示类与类、接口与接口之间的继承关系。
***使用带三角形的实线箭头表示。
(2)实现关系
***使用类实现接口
***使用实线表示
(3)依赖关系
*** 表示一个类依赖于另外一个类的定义,依赖关系是单向的。这种依赖具有偶然性、临时性,是非常弱的关系。
例如:某人过河,需要借助于船,则人和船就是依赖关系,人过河后,与船的关系就解除了。
***在代码层面,类作为参数或返回值类型被另一个类中的方法使用。
(4)关联关系
*** 一个类作为另一个类的成员变量,这个类知道另一个类的属性和方法。
例如:自行车类和人类,每辆自行车属于特定的主人,每个主人有特定的自行车。人类知道自行车类中的属性和
方法。
(5)聚合关系
***聚合关系是关联关系的一种,是更强的关联关系。
***聚合是整体和部分之间的关系,例如汽车由引擎、轮胎和其他零件组成。
***聚合也是通过成员变量来实现的。但是,关联关系所涉及的两个类处于同一层次上,而聚合关系中,两个类处于
不同的层次上,一个代表整体,一个代表部分。
***整体和部分是可以分离的,具有各自的生命周期。
(6)组合关系
***组合关系是关联关系的一种,是比聚合关系还要强的关系。
***同样体现整体与部分的关系,但是整体和部分是不可分的。整体生命周期结束也意味着部分生命周期的结束,
反之亦然(比如:人和五脏六腑的关系)。
***整体的对象负责部分的对象的生命周期。