C++设计模式
上QQ阅读APP看书,第一时间看更新

1.2 类间关系

类图表示的是类与类之间的关系,此种关系通常用UML(Unified Modeling Language,统一建模语言)表示。类图在软件设计及应用架构前期设计中是不可或缺的一部分,它的主要组成部分包括类名、类方法(也叫成员方法、成员函数)和成员变量,其中类方法包含返回值类型,成员变量包含数据类型,这些组成部分由一个矩形框包围起来。一个UML类图的组成部分的完整表达式如下。

[是否可见]  [成员变量名称/类方法名称]:[数据类型/返回值类型] [ = 默认值(可选)]

其中部分符号的含义如下。

+:可见(public)。

−:自身可见(private)。

#:继承可见(protected)。

因此前面提到的Car类的UML类图如图1-1所示。

▲图1-1 Car类的UML类图

图1-1完整表示了一个UML类图的组成,汽车类名称Car正上居中;虚接口SetDiffTire()返回string类型参数;公有成员函数SetCommonEngine()无返回值;Car(string en)为自身构造函数;公有成员变量engineName的类型是string。

在软件设计或架构设计中,类通常不是单独存在的,如上文提到的DZ类与Car类存在继承关系,这里说的继承是一种泛指的关系。之所以说是泛指关系,是因为类之间的关系根据耦合度由强到弱又分为接口实现关系、继承泛化关系、不可分离组合关系、可分离聚合关系、关联关系和依赖关系。下面分别阐述各个类间关系的UML类图的表示方式。