14

当我第一次为一个小型 C# 项目创建 uml 类图时,我遇到了一些属性问题。最后,我只是在开始时将属性添加为变量<<property>>。现在我想知道如何用抽象方法解决这个问题?我应该<<abstract>>在方法中添加罚款吗?我在做这样的事情:

-----------------------------------
|           <<abstract>>          |
|             MyClass             |
-----------------------------------
|<<property>> + a : int           |
|<<property>> + b : string        |
-----------------------------------
|<<abstract>> # Job() : void      |
|<<abstract>> # Job2() : string   |
|- SomeNonAbstractMethod() : void |
-----------------------------------

这可以吗?有什么建议么?

4

3 回答 3

11

每个“属性”实际上都是 UML2 中的一个属性。抽象方法以斜体文本显示(UML 对此有一个布尔值)。

您使用的符号称为关键字(简单方式)或刻板印象(更复杂)。如果您想将属性标记为某种“特殊”,那么可以像您一样使用关键字。

于 2012-09-28T09:06:50.273 回答
2

如果您使用 UMLet 来创建 UML 类,您可以简单地将您的类放在两个正斜杠之间: 具有使用 UMLet 的抽象方法的 UML 抽象类

希望对发现这篇文章并正在 UMLet 上寻找方法的任何人有所帮助。

于 2021-03-24T13:40:49.460 回答
0

由于 UML 中没有属性,我认为这是强调属性应作为属性实现的可能解决方案。但是,您应该在使用图表的文档中记录此非标准关键字的用法。

另一种解决方案是创建一个约定,即所有公共属性都必须作为属性来实现(除非发生一些例外......)。

如果我没记错的话,抽象方法是使用斜体文本显示的。不过我不喜欢这种方法,因为它可能比你的图表更容易监督。它还可能取决于您的 UML 编辑器提供的可能性,我通常更喜欢调整编辑器的方法以与使用同一编辑器绘制的其他图表保持一致。

于 2012-09-28T08:59:40.007 回答