类和接口之间的关联

Pra*_*eep 1 uml ooad

我有一个关于类和接口之间的关联建模的问题.据我所知,接口指定了对象可以做什么; 没有提供状态或功能(何时使用接口而不是抽象类,反之亦然?).此外,我的关于OOAD(James Rubaugh的面向对象建模和设计)的书指出,关联描述了一组在对象实例之间具有共同结构和通用语义的链接.

现在,假设我有以下实体:

1)ICar接口:定义汽车可以执行的操作

2)BMW:实现ICar界面的一类

3)IWheel:定义车轮功能的界面

4)LuxuryWheel:实现IWheel接口的类

现在,从设计的角度来模拟宝马和LuuryWheel之间的关系,您认为以下哪一项是正确的?我和每个人分享了我的想法

A)在ICar和Iwheel之间创建关联.BMW类可以创建LuxuryWheel类的具体实例.这是非常灵活的,但将车的能力与Wheel的能力相结合.此外,关联的定义表明关系是在实例之间.

B)在BMW类和LuxuryWheel类之间建立关联.解决特定问题; 但是宝马与豪华车轮紧密相连

C)在BMW类和Iwheel接口之间创建关联.这样宝马可以使用任何实现IWheel界面的类型.

选项C)对我来说看起来更好.请分享你的想法.

Ger*_*ner 5

我与弗拉基米尔同意,因为你要汽车车轮的接口,它们之间的关联(这实际上是一个组成)应在接口之间进行建模帮助建模ICarIWheel,如下图所示:

在此输入图像描述

由于类BMWLuxuryWheel实现接口ICarIWheel,他们还需要实现/实施该关联/成分,例如用4值引用属性的帮助BMW:: wheels,或用4种不同的参考性质的帮助BMW:leftRearWheel,rightRearWheel,leftFrontWheel,rightFrontWheel.