如何在UML类图中呈现抽象类

41

UML类图是面向对象设计中的一个实用工具。我目前正在使用它并且面临着如何在UML中呈现抽象类的问题。我已经搜索了谷歌但没有进展。

因此,我想问一下如何在UML类图中表达抽象类,并且必须能够与具体类区分开来。


请参见http://www.uml-diagrams.org/class.html#abstract-class。 - xmojmr
1个回答

66

您需要将类名写成斜体:

enter image description here

这里Contexte是一个抽象类,而Structure是一个“具体”类。

规范书第99页写道:

允许时,抽象分类器的名称以斜体显示。 或者,可以在名称后面或下方使用文本注释{abstract}来显示抽象分类器。


3
好的!谢谢 :) 如果我们将"abstract"作为分类器加进去,会怎么样? - Rui
4
虽然不是标准写法,但UML图必须易读且容易理解。我认为“<<abstract>>”的模式很容易理解。但使用这种近似方式将无法生成代码。 - Loïc Di Benedetto
从这里看,<<abstract>>是一个分类器而不是一个刻板印象。 - Rui
实际上,是我的错^^ - Loïc Di Benedetto
@Rui:根据UML规范,<<abstract>>不是“分类器”,而是一种用于对建模元素进行分类的构造型。引用的维基百科文章并非基于UML规范,因此最好不要采用其语言/解释。 - Gerd Wagner
2
@GerdWagner 不正确。 "abstract" 不是 UML 2.5 的构造型。第98页:当 Classifier 的 isAbstract 属性为 true 时,指定了 Classifier 是抽象的,即没有直接实例:抽象 Classifier 的每个实例都应该是其专业知识之一的实例。 - qwerty_so

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