到这里,我们的程序设计与实现已完成将近一半。我们用UML类图分析了5个类,但这些类之间是如何相互作用而构成我们的应用程序呢?现在我们回过头来分析前面5个类之间的相互关联。首先我们分析继承概念在UML类图中的表示。

通过UML类图中的各类之间的继承关系表示法,我们清楚地知道,CGrid是超类,PrintCGrid是CGrid的子类,BorderedPrintCGrid是PrintCGrid以及CGrid的子类。
在Java类的代码实现中,一定要用相应的extends语句来表示实际的继承关系。
一般类与类之间的关系我们可以用关联来表达。如在类CGrid中,在GetCharFrom()和SetCharAt()方法中我们使用了Point类来定义它们的参数,这是类CGrid对Point类的引用。类CGrid可以引用多个Point对象,因此,在多重性的概念中,表示该类CGrid可以与多个Point对象关系。

在UML类图中,我们用一条实线表示这种关联为依赖关系,通过开叉的箭头表示是CGrid类引用Point类。箭头上方的0..*表示可以与多个对象关联。如果是0..1表示可以与1个对象关联;如果是1表示必须与1个对象关联;如果是1..*表示必须与至少1个对象关联。
同样,在PrintCGrid类中,在其变量申明中,有对CGObject的引用,并且也是多重引用。其UML类图关系可以表示为:

因此,以上5个类之间的相互关系,用UML类图关系可以清楚地表示为:

本部分说明了5个类的UML类图表示、UML类图关系以及相应的Java实现代码。