UML类图:这是如何编写抽象方法和属性的?

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

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

这好吗? 有什么建议?

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

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

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

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

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