Незнаю что и делать ! Извените что не коменчу код ...
1. Внутри StatisticStorage создай метод void put(EventDataRow data).
2. Чтобы методом put(EventDataRow data) добавить объект data в данные карты, нужен тип события - EventType.
Будет правильно, если событие будет хранить в себе свой тип. Поэтому:
2.1. В интерфейс EventDataRow добавь метод EventType getType()
2.2. Реализуй этот метод в каждом классе-событии: CookedOrderEventDataRow, NoAvailableVideoEventDataRow, VideoSelectedEventDataRow
3. Сделай так, чтобы к методу void put(EventDataRow data) нельзя было получить доступ за пределами класса StatisticManager.
Воспользуйся особенностями вложенных классов.
Теперь остается расставить вызовы StatisticManager в те места, которые генерируют события.
4. Зарегистрируй событие для повара во время приготовления еды.
Добавь геттер для поля dishes в класс Order, используй его при создании события.
5. Зарегистрируй событие "видео выбрано" перед отображением рекламы пользователю.
6. Метод register с одним параметром типа EventDataRow должен регистрировать полученное событие в statisticStorage.
Требования:
В интерфейсе EventDataRow должен быть объявлен метод EventType getType().
В классах поддерживающих интерфейс EventDataRow должен быть корректно реализован метод getType().
Метод put в классе StatisticStorage должен быть реализован в соответствии с условием задачи.
Метод register класса StatisticManager с одним параметром типа EventDataRow должен регистрировать полученное событие в statisticStorage.
Повар во время приготовления еды должен генерировать соответствующее событие.
Перед отображением списка видео должно быть зарегистрировано событие "видео выбрано".
package com.javarush.task.task27.task2712;
import com.javarush.task.task27.task2712.kitchen.Cook;
import com.javarush.task.task27.task2712.kitchen.Waiter;
public class Restaurant {
public static void main (String[] args){
Tablet tablet = new Tablet(1);
Cook cook =new Cook("Amigo");
Waiter waiter = new Waiter();
tablet.addObserver(cook);
cook.addObserver(waiter);
tablet.createOrder();
tablet.createOrder();
}
}
+1
Комментарии (2)
популярные
новые
старые
Для того, чтобы оставить комментарий Вы должны авторизоваться