Java项目 - 一种汽车配置器

时间:2014-03-09 15:18:33

标签: java list class multiple-inheritance

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

最后我必须制作一个菜单,这样每个顾客都可以添加或删除任何选项(一个aleardy添加一个)并显示最终价格 - 像this之类的东西(它是关于同一品牌的)。

我不知道该怎么做菜单。

1 个答案:

答案 0 :(得分:0)

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

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;
     }
}

使价格保持不变是非常罕见的,但在我们的情况下可能没问题。要在类initializaiton中指定final字段,您需要添加一个如上所示的构造函数。

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

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

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