类图:
用来显示系统中的类、接口以及他们之间静态结构和关系的一种静态模型。类图的实例就是对象图
类(Class):
包含3个组成部分,第一是类名:正体字是可被实例化的,斜体字为抽象类;第二是属性(+ - #);第三是该类提供的方法(+ - #)
接口(Interface):
它是一系列操作的集合,指定了一个类所提供的服务。一个类可以实现多个接口。如下表示:
关系:
1.依赖(Dependency)
定义:是一种使用的关系,即一个类的实现需要另一个类的协助,所以尽量不要使用双向依赖关系。
箭头指向:带箭头的虚线,指向被依赖者
2.关联(Association)
定义:元素间的结构关系,是一种弱关系,被关联的元素间通常可以独立存在。
箭头指向:箭头指向被依赖元素
(1)聚合:聚合是关联关系的一种特例,是强的关联关系。
车轮属于车的一部分,但是车轮可以独立于车存在。
(2)组合
组合是聚合关系的变种,表示两者之间有更强的关联关系。
思想是人体的一部分,但是思想不能独立于人体而存在。
(3)对比:
相对比聚合关系来说,组合关系中的两个物体依赖关系更强,具有相同的生命周期,即:同时出生同时消亡,必须依赖彼此存在。
3.实现(Realization)
定义:A代表接口,B代表实现接口A的具体类。A定义一个接口,B实现这个接口,B实现A。
箭头指向:用空心箭头和虚线表示,箭头指向接口(A)
4.泛化(Generalization)
定义:它是一种继承关系,表示一般与特殊的关系,指子类继承父类的特征和行为。例如:苹果是水果中的一种,那么苹果既有苹果的特性,也有水果的共性。
箭头指向:带三角箭头的实线,箭头指向父类。