【发布时间】:2019-04-15 16:03:23
【问题描述】:
我是一名学习 C++ 的学生。我正在为我的程序创建一个涉及继承和抽象/具体类的 UML 类图,但我不太确定如何表示纯虚函数。感谢您的帮助,谢谢!
【问题讨论】:
标签: c++ uml class-diagram virtual-functions pure-virtual
我是一名学习 C++ 的学生。我正在为我的程序创建一个涉及继承和抽象/具体类的 UML 类图,但我不太确定如何表示纯虚函数。感谢您的帮助,谢谢!
【问题讨论】:
标签: c++ uml class-diagram virtual-functions pure-virtual
UML 标准确实表明行为特征(例如方法/操作)可以将其属性 isAbstract 设置为表示它是抽象的并且没有实现。然而,没有关于这应该如何在图中显示。
根据uml-diagrams.org 和其他来源,在较旧的UML 版本(1.4.x)中,抽象操作以斜体 显示名称或在其名称后带有文本{abstract} 标记.斜体约定被广泛使用(另见here)。
当前的 UML 不再使用斜体,也没有说明如何表示 isAbstract 属性。尽管如此,{abstract} 标记应该仍然有效。
【讨论】:
abstract 没有明确提及 p108-109 + 116)。不过我同意你的观点,我不会对斜体感到震惊,因为它在过去被大量使用(包括 UML 之前的符号,例如在 GoF 中)。