【问题标题】:How should the enum type look like in the bottom part of a UML diagram?枚举类型在 UML 图的底部应该是什么样子的?
【发布时间】:2013-02-05 20:49:36
【问题描述】:

我知道枚举类型在 UML 图的中间部分应该是什么样子,但它在包含类的动作/方法的底部应该是什么样子?枚举类型没有访问器和修改器吗?

【问题讨论】:

  • 我应该想象“+ GetTypeOfAttack:TypeOfAttack”
  • 这意味着公共可访问方法返回类型为 TypeOfAttack 的枚举。您可能还需要在destroyer 中使用一个字段来存储它的TypeOfAttack
  • 哦...你在“攻击”中有那个
  • 看看网上的其他例子(并且没有拉我关于 UML 的书),几乎可以肯定是“+ GetTypeOfAttack:TypeOfAttack”。 + 或 - 表示公共/私有字段/方法,参数在 () 之间表示,返回类型在后面指定:
  • @PaulSullivan:是的,这是正确的。但是,访问器是否也一样?像这样的“+ setAttack(TypeOfAttack Attack): void”

标签: class uml enumeration accessor mutators


【解决方案1】:
+GetTypeOfAttack:TypeOfAttack

可能是答案,但您需要问自己一个问题,这是否是“经典”访问器修改器

经典的访问器/修改器(getter/setter)通常如下所示

private bool hiddenField = true;

//Accessor
public bool GetHiddenField()
{
     return hiddenField;
}

//mutator
public void SetHiddenField(bool input)
{
    hiddenField = input;
}

但您可能(通常)遇到需要在获取或设置字段之前进行一些逻辑评估的情况......这不是纯粹的访问器/修改器,但本质上是。

回答您的问题:

+SetHiddenField(bool): void
+GetHiddenField:bool

查看它们如何映射到前面的代码。 +/- = public/private, (denoteParameters) and : 表示返回类型

【讨论】:

  • 你刚刚写信给我 +getType: Type --> +GetTypeOfAttack:TypeOfAttack 我相信对于访问者来说它应该是这样的: +getStoringVariable: Type --> +getAttack: TypeOfAttack 对吗?您刚刚在上面做了一个视觉示例! +GetHiddenField:bool
  • 对不起...我不明白你想表达什么。除了它应该是自我描述的(描述字段/方法的作用)之外,你称之为访问器/突变器的东西真的无关紧要,而且大小写也无关紧要。即在java中它应该(按照惯例)是小写的“getTheType:typeOfAttack”,或者在c#中它通常是(按照惯例)大写的“GetTheType:TypeOfAttack”。这取决于您的目标平台(但不要太担心;)
  • @user1753668 ... 有什么快乐吗?请记住标记答案,如果您需要更多说明,请询问。
猜你喜欢
  • 2010-11-10
  • 2010-09-29
  • 2018-07-31
  • 1970-01-01
  • 2018-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多