【问题标题】:How to draw UML Class diagram for my following java code?如何为我的以下 java 代码绘制 UML 类图?
【发布时间】:2013-02-20 02:41:09
【问题描述】:

我有一个抽象进程类

Abstract class **A**

它有成员函数run()

B,C,D,E 继承自抽象类 A

我有一个名为 F (ProcessFactory) 的类,它有一个名为 getProcess() 的函数,它接受参数并给出指定类型的进程对象的一个​​实例。

现在另一个名为 G 的类使用类 F 并获取类 B,C,D,E 的实例并对其进行处理.

如果有人可以为上述场景提供 UML 类图,我会很高兴。由于我的类涉及线程,那么 UML 中是否可以显示线程相关类的任何内容?

【问题讨论】:

  • 奇怪的问题。这是作业吗?
  • 不,不是。但是当我阅读 UML 教程中的概念时,我感到很困惑。
  • 你能否提供更多关于你的类的细节(因为你说你需要根据一些现有的代码绘制一个 UML 类图,否则我们会想象你的类)。

标签: java uml class-diagram


【解决方案1】:

UML 类图是静态图,因此它不关心类是线程、进程还是猴子。一切都是一个类,它具有属性和方法。您可以声明A 继承自线程,但这就是您可以说的关于线程的全部内容。所以你会得到这样的东西:

  • 编辑:请参阅下面的评论以进行澄清。

【讨论】:

  • 我认为 G 与 A 没有直接关系。它使用 F 作为代理来访问 B、C、D 和 E 类。从图中我敢打赌getProcess() 的返回类型将是 A 类型,即使返回的特定实例是子类之一。我不确定如何在 UML 中表示它。
  • 我和凯利在一起。这是我关心的问题,所以提出这个问题。我很困惑应该将箭头从 F 画到 A 还是从 G 画到 A。
  • 你是对的,你还需要一个从 F 到 A 的依赖箭头。我画了一个从 G 到 A 的直接关系,假设 G 在他从 F 收到的实例中调用某个函数,即G 视为 A 的实例(因为这是 F 返回的内容)。希望我说清楚了。
猜你喜欢
  • 1970-01-01
  • 2014-04-21
  • 2016-12-01
  • 1970-01-01
  • 2016-05-12
  • 1970-01-01
  • 2021-03-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多