【问题标题】:Enterprise Architect Pure Virtual Functions "=0"Enterprise Architect 纯虚拟功能“=0”
【发布时间】:2017-11-29 10:30:32
【问题描述】:

我在 Enterprise Architect 的 UML 图中实现纯虚拟 C++ 函数时遇到问题。

我创建了一个类,它有一个名为“act()”的纯虚函数,virtual 的标志设置为 true,修饰符设置为 pure,但在图中该函数仍然缺少“=0”。

感谢您的帮助

【问题讨论】:

  • 纯虚(抽象)函数在 UML 中用斜体表示,图中没有= 0
  • 但是您如何区分纯虚拟和纯虚拟?
  • 如果一个函数是只是虚拟的,为什么重要?如果您遵循 LSP,则无关紧要。
  • 因为纯虚拟就像java中的抽象,而虚拟只是为了多态(如果我没记错的话)

标签: c++ uml enterprise-architect


【解决方案1】:

一个操作的属性isAbstract定义为: isAbstract : Boolean [1..1] 如果为真,则 BehavioralFeature 没有实现,必须由更具体的分类器提供。

规范中没有定义纯“抽象”的概念,它可以被视为一个语言问题而不是 UML 问题。

在EA中,对于一个抽象操作,你得到了Modifier Pure,但是我在规范中没有找到他的定义。

而且图形表示不变见:

一个解决方案可能是定义一个刻板印象(在 EA 中简单快速):

但是这样做,这只是一个“提示”,要在 Operation 上定义一个构造型,您将使用该构造型创建一个配置文件,然后将该配置文件移植到您的 EA 项目中......另一个故事。

【讨论】:

    猜你喜欢
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 2010-11-21
    • 2014-05-21
    • 1970-01-01
    相关资源
    最近更新 更多