UML类图学习备忘

UML类图学习备忘

  • UML类图学习备忘
    • UML类图UML Class Diagram
    • 类实例图示
    • 类之间关系与图示
      • 0 类关系箭头图示
      • 1 关联关系
      • 2 依赖关系
      • 3 泛化关系 继承关系
      • 4 实现关系
    • 参考

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类图

你可能感兴趣的:(uml,软件设计,面向对象,设计模式)