Задачи

Задача 1

Създайте програма с примера "Използване на Builder" от упражнението.

  • Допълнете класа Book с нужните полета и конструктори

  • Допълнете метода build, за да се създават обекти от Book.

  • Сложете нужните проверки, за да са валидни стойностите на полетата в класа Book (да се провери, че всяко поле от класа Builder е сетнато и може да се създаде обект Book, ако не може да се продуцира грешка)

Задача 2

Съставете програма която създава автомобили, с клас директора който дефинира реда за създаване на автомобилите. За целта ще имате нужда от:

  • Индерфейс Мotion с метод void go(double mileage)

  • Класове компонени на автомобилите:

    • Engine - обем, пробег, флаг за стартиран или спрян

      • Имплементира Motion като увеличава пробега на автомобила ако колата е в движение ако не е продуцира грешка

    • GPSNaviator - дестинация

    • Енумерация Transmission - SINGLESPEED, MANUAL, AUTOMATIC, SEMIAUTATIC

    • TripComputer - връща информация за горивото в колата, състоянието на двигателя дали е стартиран или спрян и изминатия пробег.

  • Класове автомобил

    • Енумерация CarType с изброени типове автомобили CITY_CAR, SPORTS_CAR, SUV

    • Абстрактен клас Vehicle

      • полета

        • carType

        • seats

        • engine

        • transmission

        • tripComputer - кога се добавя инстанцията наавтомобила?

        • gpsNavigator

    • Клас Car с:

      • наследява Vehicle

      • Методи - за извличане стойностите на полетата

    • Клас Manual

      • наследява Vehicle

      • Метод toString връща информацията за автомобила и наличието или липсата на функция за "Trip Computer" и "GPS Navigator"

  • Класове за създаване на автомобили:

    • Интерфейс Builder с методи за сетване компонентите на автомобила и темплейтен метод build

    • Клас CarBuilder имплементира Builder

    • Клас CarManualBuilder имплементира Builder

  • Клас Direktor

    • Конструира градски автомобил

    • Конструира спортен автомобил

    • Конструира СУВ автомобил

  • В main се билдват трите вида автомобили

Задача 3

Преработете задачата за книжарница от упражнение 1 с използване на шаблона Builder

Last updated