如果我有班级飞机和班级翼,如果两者之间存在构图关系,那么飞机在类图中是否有Wing类型的成员变量,如飞机箱中所示?
答案 0 :(得分:3)
没有。组合物和聚集体是各种关联,并且显示为关联,即,类之间的线(在容纳侧分别具有实心和空心菱形)。作为一般规则,如果您有一个类型为类的属性,那么您的模型是错误的。
实施与分析/设计完全不同。您可以通过多种方式实现关联,包括使用成员变量,例如在C ++中。
答案 1 :(得分:2)
ASCII艺术!
+-------------+ 1 1..* +----------+
| Airplane |<*>------------| Wing |
+-------------+ +----------+
其中<*>
代表填充的钻石,表示构图。我使用了多重性1 .. *,因为它可以使飞机基本上是一个单翼(例如B-2),虽然没有人再建造它们AFAIK,你有双翼飞机(2或3个翅膀,取决于你如何“重新计算”,三部曲等等。
答案 2 :(得分:0)
我不确定100%,但到目前为止我记得没有。只是暗示你将有一个Wing类型的变量。
答案 3 :(得分:0)
不,它没有。但这并不意味着您不能拥有类类型的属性。你不能两者都有。这是你想要强调的选择。