gpt4 book ai didi

uml - "is-a"和 "has-a"可以同时存在吗?

转载 作者:行者123 更新时间:2023-12-02 04:54:54 25 4
gpt4 key购买 nike

假设有两个类,类 B 是类 A 的子类,B 有一个属性 a ,它是一种A,如下面的伪代码所示:

class A {}

class B extends A {
A a;
}

在UML word 中,类B 和类A 之间有两种关系。 B 'is-a' kind of A on while B 'has-a' property of A 属性。我可以在一个类图中同时表示这些关系吗?

enter image description here

当我用谷歌搜索时,通常在所有结果中两个类之间只存在一种关系。所以我不确定是否允许这样画图。如果不是,UML 如何表达类之间的这种关系。

最佳答案

当然可以。示例:人类是一种动物,可以将动物作为宠物。 (尽管人们可能想要禁止人类作为宠物的规则。:-))

然而,绝对行不通的一件事是使最小基数为 1。这意味着每只宠物也必须有一只宠物!

请注意您的文本、伪代码和 UML 不匹配。您的 UML 图使用了组合,这意味着当我示例中的宠物死亡时,主人也必须死亡!要解决此问题,您可以使用白色钻石。

关于uml - "is-a"和 "has-a"可以同时存在吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18158439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com