【问题标题】:Can i identify in UML that method calls method from another class我可以在 UML 中识别该方法调用另一个类的方法吗
【发布时间】:2018-03-17 16:38:24
【问题描述】:

我代表了这段代码:

class Enemy{
    int _health;
    void Attack(){
        Player.GetDamage(25);
    }
}

class Player{
    int _health;
    public void GetDamage(int amount){
        _health -= amount;
    }
}

在 UML 中是这样的:

这是正确的表示吗? 我是 UML 新手,不知道我做的是否正确。

【问题讨论】:

  • 完全偏离主题,但名称为 GetDamage 的操作应该是只读的 get 操作。你的改变了玩家的健康。考虑为操作选择另一个名称,明确表明它会改变一些东西。
  • 感谢您的评论。我将它重命名为TakeDamage

标签: uml class-diagram flowchart


【解决方案1】:

不,这是不正确的。关联是错误的。这只是一个依赖项,您需要将其显示为虚线箭头。类图仅显示静态结构(即类如何相互关联)。

您在序列图中显示调用的动态部分:

Actor1 是系统中触发攻击的一些自动机。

【讨论】:

  • 我忘了说。这是敌人的健康。我在上面编辑了代码。
  • 澄清一点,@Zaraza.132 你目前使用的是一个类图,用来表示静态信息。它显示了你有哪些类,它们的属性、操作和其他特性是什么。但它不用于显示系统的动态。要描述您必须使用其他图表。一个例子(最适合您的情况)是托马斯在他的回答中使用的。我建议您阅读更多关于 UML 和所有可用图(尤其是那些:类图、活动图、序列图、用例图、状态机图和组件图)的内容
  • 由于您已经进行了一些编辑 - 您还可以在序列图上表示属性的实际值。现在您必须将int 替换为amount:int=25。其余答案以及我之前的评论保持不变。
  • 感谢您的解释! :)
猜你喜欢
  • 2010-11-28
  • 2022-01-19
  • 2021-05-26
  • 2015-01-04
  • 1970-01-01
  • 1970-01-01
  • 2014-03-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多