Я готовлюсь к экзамену, и у меня есть лица, код которых я не могу понять Моя задача - решить диаграмму классов и написать код для каждого класса и интерфейса. На самом деле у меня есть только основной метод, который упоминается ниже. Моя задача - рассчитать цену автомобиля, который выбирается из 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 унаследованных класса 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