目录
- 类图格式
- 基础要素
- 基本图示
- 示例
- 接口(机动车为例)
- 抽象类(汽车为例)
- 普通类(奔驰为例子)
- 可见性说明
- 其他说明
- 类与类之间的关系
- 泛化关系(generalization)
- 关系图
- 示例(Benz和Bmw继承Car)
- 实现关系(realize)
- 关系图
- 示例(Car 实现 MotorVehicle 接口)
- 关联关系(Association)
- 关系图
- 示例1(Benz 车和 Benz 品牌的关系,Benz车可以获取Benz品牌,Benz品牌可以发布Benz车)
- 示例2(Benz经销商卖Benz,单Benz无需知道与Benz经销商的关系)
- 依赖关系(Dependency)
- 关系图
- 示例(汽车维修员维修汽车)
- 聚合关系(Aggregation)
- 关系图
- 示例(部门由员工组成,但部门解散,员工还存在)
- 组合关系(Composition)
- 关系图
- 示例(公司由部门组成,公司不存在,部门也不存在)
类图格式
基础要素
- 类名
- 属性(java叫字段)
- 操作(java叫方法)
基本图示

示例
接口(机动车为例)

抽象类(汽车为例)

说明:
抽象类:类名斜体
抽象方法:方法名为斜体普通类(奔驰为例子)

可见性说明
符号 | 说明 |
- | private |
+ | public |
# | protected |
~ | 包权限 |
其他说明
类方法和类说明,加下划线
类与类之间的关系
泛化关系(generalization)
(is-a):指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能。
关系图

示例(Benz和Bmw继承Car)

实现关系(realize)
指的是一个class类实现interface接口(可以是多个)的功能。
关系图

示例(Car 实现 MotorVehicle 接口)

关联关系(Association)
描述不同类的对象之间的结构关系(静态关系、运行状态无关、强关联)。
关系图
- 不强调方向(默认):类A与类B都知道相互关联关系

- 强调方向:类A知道与类B关联,但是类B不知道

示例1(Benz 车和 Benz 品牌的关系,Benz车可以获取Benz品牌,Benz品牌可以发布Benz车)

示例2(Benz经销商卖Benz,单Benz无需知道与Benz经销商的关系)

依赖关系(Dependency)
描述一个对象在运行期间会用到另一个对象的关系(动态、临时关系)。
关系图

示例(汽车维修员维修汽车)

聚合关系(Aggregation)
(has-a):聚合关系用于表示实体对象之间的关系,表示整体由部分构成,但不是强依赖关系,部分可以脱离整体存在。
关系图

示例(部门由员工组成,但部门解散,员工还存在)

组合关系(Composition)
(contains-a):组合关系是一种强依赖的特殊聚合关系,同样可表示整体由部分构成,但部分不能脱离整体存在。
关系图

示例(公司由部门组成,公司不存在,部门也不存在)

















