在UML中表示关联和继承

3
如果我有一个这样的类定义:

class MyClass:

class A extends class B {
private B b
}

我该如何在UML中表示这种关系?另外,这是一个糟糕的设计吗?为什么?

设计看起来不是很完美。如果您能够确定只有一种关系,无论是关联还是继承,那就太好了。这可能是一个罕见的情况。 - Dhiral Kaniya
你能确认一下你的b对象是一个额外的B,而不是指A内部的B子对象吗?你是否考虑过组合模式 - Christophe
2个回答

4
在Java中,extends关键字代表着一种泛化关系,用空心三角形在UML中表示。关联关系则用实线表示。角色名b-前缀的形式附加在B类上,表示为私有属性。而大点号则表示它是A的拥有属性。这基本上没有什么问题。

enter image description here


2
在决定这是否是一个糟糕的设计之前,请告诉我们您的背景信息。
对于您的第一个问题:您可以像这样做。 构成: 关联

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接