Создай иерархию классов с продуктами, которые можно положить в корзину. Создай их в отдельном пакете model.
В пакете должны быть:
2.Интерфейс Discountable c единственным методом getDiscount. Он возвращает размер скидки — вещественное число.
Все классы, реализующие этот интерфейс, возвращают значение 0 в методе getDiscount, если в задании не указано иное.
3.Наследники класса Food: Meat и Apple
Класс Meat — для мяса. Это класс с конструктором. Конструктор принимает два входных параметра — количество и цену. И устанавливает для флага isVegetarian правильное значение.
Класс Apple — для яблок. У него есть ещё строковое поле colour — цвет яблок. Конструктор принимает три параметра: количество, цену и цвет яблок — и устанавливает флаг isVegetarian.
Для красных яблок (colour равно "red") скидка должна быть равна 60%: соответствующий метод возвращает значение 60.
Создай иерархию пакетов.
Подпакет constants. Заведи подпакет constants в пакете model. Там создай два класса:
Пакет service. В нём создай класс для корзины — ShoppingCart. Добавь в него поле — массив элементов из объектов типа Food. Понадобится конструктор с одним параметром — массивом элементов Food. С его помощью ты создашь объект корзины.
В классе ShoppingCart реализуй методы для работы с корзиной:
Отдельно от пакетов создай класс Main с методом main.
В методе main реализуй следующую логику:
Инициализируй данные. Для этого создай объекты:
Создай массив продуктов из этих элементов и проинициализируй корзину с помощью созданного массива.
Посчитай и выведи на экран значения для созданной корзины:
Все переменные класса должны быть недоступны извне, если не указано иное. Доступ к ним реализуй через известные тебе методы: создавай только те, которые действительно нужны для реализации описанной функциональности.
Критерии оценки:
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |