UML类图概要——《大话设计模式》读书笔记

先上一张总的UML类图,然后对其中的部分逐个讲解:

UML类图概要——《大话设计模式》读书笔记

UML类图概要——《大话设计模式》读书笔记

类图分三层,第一层表示类的名称,如果是斜体(如图中的“动物”),则表示这是一个抽象类。

第二层是类的特性,通常是属性和字段。

第三层是类的操作,通常是类的方法或者行为。

在上图中,特性和操作之前都有一个“+”号修饰,这表示修饰符,用+、-和#分别对应public、private和protected。

  • 接口

    • 矩形表示法:

UML类图概要——《大话设计模式》读书笔记

第一行是接口名,第二行是接口方法,矩形表示法和类图的主要区别在于接口会多一个《interface》的标识。 

  • “棒棒糖表示法”:

 UML类图概要——《大话设计模式》读书笔记

 圆圈旁为接口名称,接口方法在实现类中出现。​​​​​​​

  • 继承关系: 空心箭头+实线

UML类图概要——《大话设计模式》读书笔记

  • 实现关系:空心箭头+虚线

UML类图概要——《大话设计模式》读书笔记

  • 关联(Association)关系:实线箭头

UML类图概要——《大话设计模式》读书笔记

企鹅需要“知道”气候的变化,需要“了解”气候的规律。当一个类“知道”另一个类时,可以用关联(Association)来表示。

  • 聚合(Aggregation)关系:空心菱形+实线箭头

UML类图概要——《大话设计模式》读书笔记

聚合表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。他们拥有各自的生命周期,比如雁群在迁徙时形成,在迁徙完成后消散,这是雁群的生命周期,但是某只大雁的生命周期可以完全独立于雁群之外:在雁群形成前就出生,在雁群消散之后继续存活。

  • 合成(Composition,也有翻译成‘组合’的)关系:实心菱形+实线箭头

UML类图概要——《大话设计模式》读书笔记

合成表示一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。翅膀的生命周期必须和鸟的生命周期相同,而不能单独作为翅膀独立存活。

  • 依赖(Dependency)关系: 虚线箭头

UML类图概要——《大话设计模式》读书笔记

动物的所有行动都离不开氧气和水,他们之间用虚线箭头表示依赖关系。