从下面所示的uml图中,哪一个是无效关系?

问题描述 投票:0回答:1

根据我的说法,正确的选择是 A,因为聚合和组合关系不能在同一类中共存。

但是,选项 C 似乎也有道理,这给我带来了一些困惑。

选项b和d对我来说是有效的。所以混淆是在 a 和 c 之间。

image

object oop uml relationship
1个回答
0
投票

选项D完全有效。它模拟了典型的层次结构或晶格结构。

选项 B 完全有效。它是复合图案变体的典型部分。

选项 A 完全有效。同一事件不能成为两个组合的成员。但组合和聚合并不是不相容的。

选项 C 需要仔细研究。乍一看,这两种关系并不矛盾。然而,它不可能存在:

P定义了一个接口。 Q实现了这个接口。但P也组成Q。因此,接口P必须知道Q,但不能在定义P之前定义Q。这是一个无法解决的循环依赖关系。

所以正确答案是选项C,这是唯一不可能的模型。

© www.soinside.com 2019 - 2024. All rights reserved.