将现实世界的问题建模为java类

时间:2010-08-14 18:44:11

标签: java oop

我如何在java classe中建立愚蠢的问题陈述?

我有一类车辆。

  • 车辆可以是卡车,汽车,踏板车,摩托车。
  • 车辆有发动机。
  • 发动机有以下约束
    • 汽油发动机和柴油发动机是发动机的类型
    • 卡车配备4冲程,12缸柴油发动机
    • 汽车可以配备4冲程汽油发动机或4冲程柴油发动机
    • 汽车可以配备4缸发动机或6缸发动机。
    • 摩托车可配4冲程单缸汽油发动机或4冲程双缸汽油发动机。
    • 踏板车可以配备单缸2行程汽油发动机或单缸4冲程汽油发动机。
  • 每个引擎都包含
    • 气瓶数量[仅限1/2/4/6/12]
    • 笔画数[仅限2/4]。
    • '引擎编号'始终为6个字符的字母数字。
  • 柴油发动机总是有4冲程但是汽油发动机可以有2冲程或4冲程。
  • 只有汽油发动机有火花塞[每缸一个]。柴油发动机不能装有火花塞。
  • Sparkplug只有序列号[例如Car with 6 Cylinder Engine将有Sparkplugs SP1,SP2,SP3,SP4,SP5,SP6]
  • 只有卡车和汽车有油泵。
  • 每个油泵都有
    • 识别号码6字母数字
    • 每秒立方厘米(cc)的容量[值可以在1-5之间]

1 个答案:

答案 0 :(得分:4)

这听起来非常像初学者OOP任务。在这种情况下,您将在现实世界中将每个事物类建模为类模型中的类。也就是说,会有一个班级VehicleEngineSparkPlug等。

然后这些类具有某些关系,例如DieselEngine是一种Engine。您应该已经知道继承可用于建模这种关系。

此外,有些内容由其他内容组成,例如PetrolEngineSparkPlug。您可能已经知道,类可以具有属性。相应地使用它们。

在UML中,类图中需要的两件事是泛化组合

另外,我相信如果你问你的同学,你们可以一起提出解决方案。这通常比将任务描述转储到论坛或Q& A站点并等待现成的解决方案更容易。