UML类图
什么是UML?UML是一种用于创建程序模型的可视化语言。UML有多重功能不同的图。通过使用UML,可以让复杂的系统变的简单且容易理解。因为系统常常都是让人难人理解,并且系统之内的信息处理也是相当复杂,而UML提供了不同的图来表示不同类型的信息。
什么是类图
UML图中最最基本的是类图。它对类做描述,并表示类之间的关系。
类之间的关系包括:
- 类A 是 类B :is-a的关系
- 类A 包含 类B : has-a的关系
- 类A 使用 类B : has-a的关系
那么,对于一个类来说,主要表现三方面的内容:
- 类的名称
- 类的数据结构
- 类的方法
对一个类来说,“+”表示公共的;“#”表示保护的;“-”表示私有的。
那么对于一个类,如
class A{ public: void print(); protected: void getData(); private: int data; }
类图的几种关系
在UML类图中,常见的有以下几种关系:泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)
泛化
- 是一种继承关系,它指定了子类如何特化父类的所有特征和行为。
- 用空心三解箭头表示。
关联
- 是一种拥有的关系,它使一个类知道另一个类的属性和方法。关联可以是双向的,也可以是单向的。
- 用直线,或带箭头的直线表示。
聚合
- 是整体与部分的关系。
- 用带空心菱形的实心线表示,菱形指向整体。
组合
- 同样是整体与部分的关系,但是它比聚合的关系要强。
- 用带实心菱形的实线表示,菱形指向整体。
依赖
- 是一种使用的关系,所以要尽量不使用双向的互相依赖。
- 用带箭头的虚线表示,指向被使用者。
实现
- 是一种类与接口的关系,表示类是接口所有特征和行为的实现
- 用带三角箭头的虚线表示,箭头指向接口
参考
Design Patterns Explained