14.7 类之间的关系

本章演示了两种常见的类间关系。

  • 组合

一个类的实例包含另一个类的实例的引用。例如,Eights 实例包含两个指向 Player 对象的引用、两个指向 Hand 对象的引用以及一个指向 Scanner 对象的引用。

  • 继承

一个类扩展了另一个类。例如,Hand 扩展了 CardCollection,因此每个 Hand 实例都是 CardCollection 对象。

组合关系也被称为有一个(HAS-A)关系,如 Eights 有一个 Scanner;继承关系也被称为是一个(IS-A)关系,如 Hand 是一个 CardCollection。这些术语让你能够以简洁的方式讨论面向对象设计。

对于这些关系,还有一种标准的图形表示方式,那就是 UML 类图。正如你在 10.9 节看到的,类的 UML 表示是一个方框,这个方框包含三部分:类名、属性和方法。但用于显示类之间的关系时,后两部分是可选的。

类之间的关系用箭头表示:标准箭头表示组合关系,空三角形箭头(通常是向上的)表示继承关系。图 14-1 显示了本章定义的类以及它们之间的关系。

{%}

图 14-1:显示本章定义的类及其关系的 UML 图

UML 属于国际标准,因此几乎任何软件工程师看到这种图时都能够明白它所表示的设计。类图只是 UML 标准定义的众多图形表示之一。

本章总结了本书介绍的各种技术,包括变量、方法、条件、循环、数组、对象和算法,但愿对你有所帮助。祝贺你阅读完了本书!