2010-08-14 22 views
1

如何將foollwing問題陳述模型化爲java類?將真實世界問題建模爲java類

我有一個班車。

  • 車輛可以是卡車,汽車,摩托車,摩托車類型。
  • 車輛有發動機。
  • 發動機shold具有以下約束上
    • 汽油發動機和柴油發動機是類型的發動機中
    • 卡車帶有4衝程,12氣缸柴油機
    • 汽車可以有四衝程汽油發動機或四衝程柴油發動機
    • 汽車可以有4缸發動機或6缸發動機。
    • 摩托車可以有四衝程單缸汽油機或四衝程雙缸汽油發動機。
    • 踏板車可以有單缸2衝程汽油發動機或單缸4衝程汽油發動機。
  • 每個發動機包括
    • 氣缸數[1/2/4/6/12僅]
    • 行程數[2/4只有]。
    • '引擎號'總是6個字符的字母數字。
  • 柴油發動機總是有4個衝程,但汽油發動機可以來2個衝程或4個衝程。
  • 只有汽油發動機有火花塞[每缸一個]。柴油發動機不能有火花塞。
  • Sparkplug只有序列號[例如帶6缸發動機的汽車將有Sparkplugs SP1,SP2,SP3,SP4,SP5,SP6]
  • 只有卡車和汽車有油泵。
  • 每種油泵具有
    • 識別號碼6個字母數字字符以立方厘米(cc)的每秒
    • 容量[值可以是1-5之間的關係]
+2

是功課嗎? – Bozho 2010-08-14 18:46:31

+0

這裏的問題究竟是什麼?您所具備的規格完全符合班級層級。 – 2010-08-14 18:48:31

+0

我沒有得到我應該如何建模到java類 – akshay 2010-08-14 18:51:43

回答

4

這非常聽起來非常像初學者的OOP任務。在這種情況下,您將在現實世界中將事件中的每個類別都模型化爲類模型中的類。也就是說,將有一類VehicleEngineSparkPlug

然後,這些類有一定的關係,如DieselEngine是一種Engine。你應該知道繼承可以用來模擬這種關係。

此外,有些東西是由其他東西組成,如PetrolEngineSparkPlug。你可能已經知道類可以有屬性。相應地使用它們。

在UML中的兩件事情,你需要在這裏一類圖是概括組成

此外,我敢肯定,如果你問你的同學你可以一起想出一個解決方案。這通常比將任務描述轉儲到論壇或Q & A站點並等待現成的解決方案更容易。

+0

+1不會太遠。 (不確定值得一提的是UML--我認爲這不會用於初學者級別) – 2010-08-14 19:35:17

+0

@David:至少基本的類圖是我們計劃的一部分,幾乎與通用OO建模同時進行。 – Joey 2010-08-14 20:14:59