1概述
类图是一种静态结构模型,能让我们在正确编写代码之前对系统有一个全面的认识,类图通常由类、接口和类之间的关系组成。
类图根据系统分析与设计的不同阶段可以分为** **
分析类图在分析阶段主要是围绕实体对象类进行绘制,着重体现他们之间的关系,该阶段可以不体现类的具体方法,对于类的属性可以不具体描述它们所采用的类型。
在设计阶段去完善分析类图成为设计类图,补充控制类和边界类,完善它们的具体方法,为代码实现提供指导。
2组成类图的元素
类之间的关系
UML中主要规定了6种类之间的关系,分别是关联、[聚合、组合]、泛化(继承)、依赖和实现
关联
关联关系是类之间的一种结构性关系,说明两个事物对象之间的来联系
Tips:
关联关系包括两种特殊的形式:聚合关联和组合关联
聚合
部分可以离开整体,部分和整体各有自己的生命周期
组合
整体对象可以控制部分对象的生命周期,一旦整体对象不存在,部分对象也不存在
泛化(继承)
依赖
某个类的方法中通过局部变量、方法的参数或对静态方法的调用来访问另一个类(被依赖类)中的某些方法
依赖关系是类与类之间的关系,总是单向的,常见有以下几种情况:
(1)A类中的某个方法的参数类型是B类
(2)A类中的某个方法的参数类型是B类的某一个属性
(3)A类中的某个方法的实现实例化B类对象
(4)A类中的某个方法的返回值是B类对象
Tips:一般情况下,若不是关联关系就是依赖关系。
实现
Tips:
依赖是“使用”关系,
泛化是“a kind of”关系,
关联主要用于对象之间有结构关系的地方,主要是用于需要永久储存的实体类之间,不要用关联关系表示暂时的关系,如过程的参数或者局部变量
接口
类的分类
类可以分为:具体类、抽象类和模板类
类的可见性描述:
eg:
具体类
抽象类
模版类
模版是一个被参数化的元素,每个模版类都定义一个类的家族
类的版型
UML中主要有三种类的版型:边界类、实体类和控制类
边界类
边界类位于系统的交汇处,包括用户界面类(如窗口、对话框、报表等)
实体类
实体类保存要放入持久储存体(数据库/文件)的信息。通常实体类对应数据库中的表,其属性对应表的字段,但实体类和数据库中的表可能并不是一一对应的
控制类
每个用例通常有一个控制类控制用例中的时间顺序