2013-02-08 124 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可以幫助你