随着UML 2.5的定义,ObjectNode是一个抽象类。就我的理解而言,抽象类不能被实例化。ObjectNode的符号如何存在?
那么为什么ObejctNode有一个图形符号,因为它不能在模式中实例化?参见UML规范的图15.49。
随着UML 2.5的定义,ObjectNode是一个抽象类。就我的理解而言,抽象类不能被实例化。ObjectNode的符号如何存在?
那么为什么ObejctNode有一个图形符号,因为它不能在模式中实例化?参见UML规范的图15.49。
为什么不能呢?
如果一个抽象类定义了一个符号,那么这仅仅意味着这是所有子类使用的符号,除非它们定义了自己的符号,否则将覆盖(抽象)父类的符号。
虽然没有明确提到,但它似乎与分类器的符号很相似。 从UML 2.5规格:
9.2.4.1量词
分类器是一个抽象的元类。尽管如此,在一个地方定义可用于分类器的任何具体子类的默认符号仍然是方便的。分类器的一些专业化有它们自己独特的符号。
另一个类似的构建体已用于抽象元类的操作:
16.2.4.1操作
动作被记为圆角矩形,如图16.2。该行为的名称或其他说明 可能会出现在符号中。 (某些特定类型的操作的专业符号在随后的 分条款进行了描述。)
@granier,你是对的,我是在UML 2.5规范中的一个错字。 Objectode可以定义为instanciated。
我很确定这不是一个错字。如果你阅读这个解释,它会被提到很多次,包括具体的子元类的列表。 –
我同意ObjectNode可以实例化的事实。但是图15.49显示了意大利语中的ObjectNode metaclasse,这意味着它是抽象的,不能被实例化,即错字。与Element,RelationShip和Comment相同。元素和关系元类以斜体显示,因此不能实例化。评论,Element的一个子变种,不是在italique中,所以它不是抽象的,所以它可以被实例化。 –
所以,你基于隐式推理的基础上,如果在规格中有一个数字显示ObjectNode,他们必须是具体的。但是你选择忽略ObjectNode是抽象的几个显式语句? –
太棒了,有人给我的问题加1,有没有办法查看谁和为什么?有人可以在没有发表任何评论的情况下向上/向下投票,提倡他的选择有点奇怪, – granier