2013-02-08 51 views
3

我一直在想,主类(控制非GUI程序中的所有其他类)与其他类有什么样的关系?驱动程序类(主类)是关联,聚合还是组合?

例如一个在类中实例化的类,该类包含main方法与主方法交互的类,例如获取返回值。

编辑:它应该甚至包括在UML中吗?因为我的教授包括它(我甚至不知道它被称为驾驶员课程),而且即时阅读的书显然不包括它,不,这不是功课。

它可能是一个关联,因为它与它交互。它也可以是一个聚合,因为它由几个类组成。如果没有它(课程实施中),一个班级就没有意义,所以我认为它的组成是因为组合是一种聚合和聚合反过来是一种关联。虽然已经发布了几个回复,但我的回答是错误的。

+0

你觉得你自己,为什么你认为呢?既然你知道这三个术语,你可能知道他们每个人的意思。 (这听起来像作业,这就是为什么我问这个问题) – 2013-02-08 19:21:03

+0

@SimonAndréForsberg哈哈ive张贴我的答案,虽然它似乎我错了,因为其他答复说,其中没有人 – latenightcode 2013-02-08 19:27:35

+0

对不起。在你第一次编辑之后,我可以告诉你,这可能不是作业,而是真正的兴趣。这是一个很好的问题。 +1。 – 2013-02-08 21:41:27

回答

4

这些都不中。主要方法是静态的。所以它不属于任何对象。所以你没有任何关联。主要方法使用其他类的实例,就这样。

+1

假设您必须为基于控制台的TicTacToe游戏制作UML类图,其中主要方法处理输入。你可能需要它在类图中。你也可以在序列图中找到它。 – 2013-02-08 20:08:09

+0

@SotiriosDelimanolis你甚至不可能在UML图中需要一个甚至没有实例化的类。该类不参与类图所模拟的宇宙方面。 – 2013-02-08 20:13:07

+1

我有时使用UML来描述设计的一些部分,这些部分用图表比较好用代码或文本描述来解释。我不在乎图表是否代表了代码的确切代码,因为对我而言重要的是要展示全局。如果我真的必须在序列图中显示,我可能会在序列图中使用假对象或名为“main”的actor。它不会出现在任何类图中。 – 2013-02-08 20:13:18

2

这仅仅是一个Kickstarter的类,你可以修改它采取任何这些,但它能够更好地保持它只是为启动和建设类的范式出它

3

主类没有必要被实例化,所以它不一定属于UML图中的任何地方,但它可以被实例化并且参与与程序的其余部分的任何种类的关系。这本书和你的老师可能都适合他们各自的案例。

顺便说一句,不要混淆类与static方法main引用的内容之间的关联。方法本身肯定是以外的的UML范例。

1

关于将它包含在UML中 - 为什么不包括它。有关研究不同的设计模式 - 你会得到了解的关系,而且用法

discussion可以帮助你