在UML的静态机制中类图是一个重点,它不可是设计人员关心的核心,更是实现人员关注的核心。建模工具也主要根据类图来产生代码。类图在UML的9个图中占据了一个至关重要的地位。编程
类的定义是:类是具备类似结构、行为和关系的一组对象的描述符。类是面向对象系统中最重要的构造块。类图显示了一组类、接口、协做以及他们之间的关系。在UML中问题域最终要被逐步转化,经过类来建模,经过编程语言构建这些类从而实现系统。类加上他们之间的关系就构成了类图,类图中还能够包含接口、包等元素,也能够包括对象、链等实例。接口在类图中经过版型来表示<<interface>>,下面的介绍将主要介绍类,接口和类相似。编程语言
enterprise archirct11 类图中的元素都是从Toolbox中拖到class model 视图中的工具
操做路径:Enterprise Archiect-->Class Model-->Add a packagespa
从左边的Toolbox中拖出一个Interface设计
修改Interface名称对象
给Interface添加方法接口
Attributes:属性生命周期
Operations: 操做、方法ci
Parameters: 方法参数it
return:返回值
Interface在图上有《interface》标识,而Class没有标识。
class中能够包含属性(特征)、方法(动做)
类实现了接口(Aniamal动物能够吃东西,那么就实现了Eatable接口)
Realization(实现)表示方式为: 空心三角+虚线
空心三角指向的是接口
虚线链接的是实现该接口的类
Generalization(泛化)表示方式为: 空心三角+实现
空心三角指向的是父类
实现链接的是子类
Dependency(依赖)表示方式为: 箭头+虚线
Student,Teacher 类中的learn和teach方法,都须要参数类型为Book
因此说Student,Teacher依赖Book
类Student、Teacher中访问Book的属性和方法
Aggregation(聚合)的表示方式: 空心菱形+实线,空心菱形指向总体
说明:聚合关系是总体和个体的关系。下图Class是一个班级,可是学生能够离开班级而独立存在
班级Class 是总体,Student 是一个个体
Composition(组合)的表示方法: 实心菱形+实线 实心菱形指向总体
说明: 组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他一样体现总体与部分间的关系,但此时总体与部分是不可分的,总体的生命周期结束也就意味着部分的生命周期结束;好比你和你的大脑;表如今代码层面,和关联关系是一致的,只能从语义级别来区分;
Associate(关联)的表示方式: 箭头+实线,箭头指向被使用的类;
说明:类与类之间的联接,它使一个类知道另外一个类的属性和方法,以下图所示: