UML类图学习备忘
[TOC]
1 UML类图(UML Class Diagram)
UML(Unified Modeling Language),统一建模语言,一种针对面向对象软件设计提供的建模语言;
2 类实例图示
在UML中,一个类实例由三部分组成,彼此之间用直线分割:
类名。接口名 斜体表示
属性(成员变量):表示格式为
可见性 属性名:属性类型[ = 缺省值]
|可见性|UML图示|
public | + |
protected | # |
private | - |
操作(方法):表示格式为
可见性 方法名(参数列表) [ : 返回类型]
3 类之间关系与图示
3.0 类关系箭头图示
关系分类 | UML箭头图示 |
---|---|
单向关联 | |
双向关联 | |
自关联 | 同单向关联 |
多重关联 | 待补充 |
聚合关系 | |
组合关系 | |
依赖/继承关系 | |
实现关系 |
3.1 关联关系
关联关系(Association):表示对象之间存在联系,可细分为单向关联,双向关联,自关联,多重关联,聚合与组合;
3.1.1 单向关联
3.1.2 双向关联
3.1.3 自关联:类的属性对象是该类自身,比如链表节点类;
3.1.4 聚合关系(Aggregation):弱聚合关系,成员对象是整体对象的属性(汽车和马达);成员对象可以脱离整体对象独立存在;在Java中成员对象实例是整体对象的方法参数注入到整体对象;
3.1.5 组合关系(Composition):强聚合关系,成员对象是整体对象的属性(鸟和翅膀);与聚合模式不同,整体对象控制成员对象的生命周期,一旦整体对象不存在,成员对象也将不存在,整体对象与成员对象存在同生共死的关系;在Java中组合关系同城在整体对象的构造方法中直接实例化成员对象
3.2 依赖关系
依赖关系(Dependency)在Java中通过以下方式实现:
一个类对象作为另一个类的方法参数
一个类对象作为另一个类中方法的成员变量
一个类内部调用另一个类的静态方法
3.3 泛化关系 = 继承关系
泛化关系(Generalization)就是继承关系,表示父类与子类关系;
3.4 实现关系
接口与实现类之间存在实现关系(Realization)
参考
[1] 深入浅出UML类图