UML- 组合和继承同时进行
UML- Composition and Inheritance at Once
我正在为其他人的代码创建 UML 图,我遇到了一些奇怪的事情 - child class 有一个 parent class 作为它的成员变量之一,似乎既有“有”又有“是”的关系。 Apparently,这是故意的,但即使在阅读了 UML 指南之后,我仍然不知道如何表示它。我是否只显示继承,更强的关系?我是否要叠加箭头,创建一个带有一条线的纯白色箭头?
用 Java 中的 class 名字替换:
public abstract class A {
}
public abstract class B extends A {
protected A a;
}
我该如何表示?
你有两个不同的关系,所以你只需同时显示它们
仅从代码来看,没有证据表明 B 和 A 之间的 Association
也是一个 Composition
,因此我将其保留为普通关联。
这里有几个问题很好地解释了关联和组合之间的区别,例如
What is the difference between association, aggregation and composition?
两个类名都是斜体的事实表明它们都被声明为抽象
我正在为其他人的代码创建 UML 图,我遇到了一些奇怪的事情 - child class 有一个 parent class 作为它的成员变量之一,似乎既有“有”又有“是”的关系。 Apparently,这是故意的,但即使在阅读了 UML 指南之后,我仍然不知道如何表示它。我是否只显示继承,更强的关系?我是否要叠加箭头,创建一个带有一条线的纯白色箭头?
用 Java 中的 class 名字替换:
public abstract class A {
}
public abstract class B extends A {
protected A a;
}
我该如何表示?
你有两个不同的关系,所以你只需同时显示它们
仅从代码来看,没有证据表明 B 和 A 之间的 Association
也是一个 Composition
,因此我将其保留为普通关联。
这里有几个问题很好地解释了关联和组合之间的区别,例如
What is the difference between association, aggregation and composition?
两个类名都是斜体的事实表明它们都被声明为抽象