Конструкторы, которые получают объекты другого класса - PullRequest
0 голосов
/ 10 июля 2019

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