在UML类图中,如何表示一个纯虚函数?

12

我是一名学习C++的学生。我正在为我的程序创建一个涉及继承和抽象/具体类的UML类图,但我不太确定如何表示纯虚函数。非常感谢任何帮助!

1个回答

12

UML标准确实表明,行为特征(例如方法/操作)可以设置其属性isAbstract以指示它是抽象的且没有具体实现。然而,关于如何在图中显示此内容,标准并未有任何规定。

根据uml-diagrams.org和其他来源,在旧版 UML 中(1.4.x),抽象操作会以斜体字的名称或跟随其名称的文本{abstract}标记来显示。 斜体约定被广泛使用(也请参见这里)。

当前的 UML 不再使用斜体,并且不指示如何表示isAbstract属性。然而,{abstract}标记仍应有效。


UML 2.5 的第99页:_抽象分类器的名称将显示为斜体,如果字体允许的话_。 - qwerty_so
@ThomasKilian 是的,但这仅适用于分类器而不是操作。这与1.4标准非常不同,在该标准中明确指出:“*如果此类未实现操作;也就是说,未提供方法,则可以将操作标记为“{abstract}”或将操作签名斜体以表示它是抽象的。”(第3-46页)。 - Christophe
由于斜体和{abstract}都只与分类器有关,因此您可以更新您的答案。目前它指出{abstract}应该是有效的,并且规范中没有说明它比斜体更有效。 - Geert Bellekens
1
我想上面的评论已经足够好了。没有什么是完美的,即使是规范。 - qwerty_so
1
@Ben_LCDB 谢谢你告诉我!我们很幸运:Wayback机器保存了2019年页面的快照。我已经相应地更新了链接。 - Christophe
显示剩余2条评论

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