9.5 类之间的关系

类与类之间最常见的关系主要有以下三种:

❑依赖(或uses-a)。

❑聚合(或has-a)。

❑继承(或is-a)。

下面以在线订单系统为例,来详细地讲述这三种关系的概念。

这个系统的主要功能是:注册用户可以登录到网上书店并选购图书。在线填写订单,并支付购书款。书店确认已经收到购书款时,按用户留下的地址邮寄图书。可以在这个系统中建立几个类,有图书(book)、账户(account)、订单(order)、地址(address)等,如图9.4所示。

9.5 类之间的关系 - 图1

图 9.4 在线订单系统结构图

9.5.1 依赖

依赖关系是类中最常见的关系,例如订单类(order)需要访问用户账户类(account),所以在订单类中需要引用账户类,即订单类依赖账户类,但图书类不需要依赖账户类。

如果修改账户类,会影响到订单类。依赖的实质就是类中的方法可以操作另一个类的实例。在实际程序设计中,建议尽量减少相互依赖类的数量,如图9.5所示。