【正确答案】(1)在实例连接一端的对象中设立一组属性,其中一个属性是指向实例连接另一端对象的指针;其余的属性是在关联中列出的连接属性。这种方法的问题是:连接属性在建模时放置在关联符号中,而实现中被搬到连接一端的类中,使模型与程序不能很好地对应。此外,对于多对多的实例连接,容易造成空间浪费。
(2)根据关联定义一个结构数据类型,其中两个域变量是分别指向两端对象的指针,其余域变量是连接属性。用这个数据类型定义的结构变量作为一个具体的实例连接。这种方法可解决多对多的连接问题,但关联所对应的是一种非OO的成分。
(3)根据关联定义一个结构数据类型,其中一个域变量是指向一端对象的指针,其余域变量是连接属性。用这个数据类型定义另一端对象的一个表示连接的属性,于是,该属性中就包括了一个对象指针和所有的连接属性。这种实现方法在一定程度上改善了程序与模型的对应。但多对多的连接问题仍未解决,而且关联所对应的也是一种非OO的成分。
(4)把关联用一个类来实现,用这个类的对象代表两端对象之间的一个具体的实例连接。它的属性包括所有的连接属性和指向两端对象的指针。这种方法使程序具有更强的OO风格,也解决了多对多的连接问题。
【答案解析】