【问题标题】:Java project - kind of a car configurator [closed]Java项目-一种汽车配置器[关闭]
【发布时间】:2014-03-09 15:18:33
【问题描述】:

我的一门大学课程(特别 Java 章节 - 更具体)有一份家庭作业。 我必须做一个必须模拟汽车配置器的程序 - 所以我有两个来自制造商的汽车模型,每辆车都有固定的价格和多种选择。 每个选项都可以有描述和价格(例如:engine - price/HP/cm3/fuelCons)。 我决定创建两个类:一个用于具有名称和最终价格的模型,另一个用于具有多个继承类的选项,部分用于每个选项。

最后我必须制作一个菜单,这样每个客户都可以添加或删除任何选项(一个已经添加的选项)并显示最终价格——类似于this(大约是同一个品牌)。

我不知道该怎么做那个菜单。

【问题讨论】:

  • 对不起,如果我没有更明确的话。我需要一个关于如何做最终菜单的想法,这样我就可以添加或删除我想要的任何选项。显示可用选项,选择我想要的并能够删除已添加的选项。

标签: java list class multiple-inheritance


【解决方案1】:

由于“选项”可以有多种能力,因此原生类型是不够的。因此,您必须创建另一个类“选项”并添加描述、价格、标题等字段。

class Option {
    private String description;
    private double price;
    ...
}

创建一个类 Car 或 CarModel 以放入标题等并添加选项列表:

class Car {
  ...
     private final double FIXED_PRICE;
  ...
     List<Option> options = new ArrayList<Option>();
  ...
     public Car(final double price) {
       this.FIXED_PRICE  = price;
     }
}

使价格保持不变是非常罕见的,但在我们的例子中可能还可以。要在类初始化中分配最终字段,您需要添加一个像上面显示的构造函数。

您还需要添加用于添加和删除选项的方法:

public void addOption(Option option) {...}
public void removeOption(Option option) {...}

如果一个选项类型在你的选项列表中只能存在一次,你可以将它设置为一个集合。要计算最终价格,请添加一个迭代您的选项列表并将价格与汽车的固定价格相加的方法。

【讨论】:

  • 我的汽车类看起来像这样:` ` ` 和选项 ` ` 和 get/set 方法
猜你喜欢
  • 1970-01-01
  • 2012-11-09
  • 2018-09-14
  • 1970-01-01
  • 1970-01-01
  • 2018-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多