我正在准备考试,并且遇到一些我无法理解的代码。我的任务是解决类图并为每个类和接口编写代码。实际上,我只有下面提到的主要方法。我的任务是计算从2种汽车中选择的汽车价格,并且可以添加3种功能,例如GPS,AirCond和AirBag。我的问题是关于这里使用的链条:
IAuto auto1 = new Cabrio();
IAuto auto2 = new AirCon(auto1);
对我来说,很清楚auto1对象是如何产生的,但是我不能理解下一行
IAuto auto2 = new AirCon(auto1);
其中auto1在另一个类的构造函数中使用。 以及如何帮助我计算价格。
我有接口IAuto,它有两种方法
showDetails(), calculatePrice()
还有2种类型的汽车,分别是Cabrio
和Limo
此外,抽象类使用构造函数进行配置
Configuration (IAuto myAuto)
和3个继承自抽象类Configuration的类AirCon,Airbag,GPS
我尝试使用Factory模式,但是它与我的任务不相关。
public static void main(String[] args) {
IAuto auto1 = new Cabrio();
IAuto auto2 = new AirCon(auto1);
IAuto auto3 = new Airbag(auto2);
IAuto auto4 = new GPS(auto3);
auto4.showDetails();
System.out.println("\n fuer " + auto4.calculatePrice() + " Euro\n");
}
主要方法的结果:
Cabrio, AirCon, Airbags, GPS
fuer 53000 Euro