Проект представляет собой имитацию работы вендинговой машины с продуктами, в том числе горячими напитками, используя принципы объектно-ориентированного программирования на языке Java. 🖥️☕
Проект включает следующие основные компоненты:
-
Product
Базовый класс, представляющий продукт. Содержит свойства:id
— идентификатор продуктаname
— название продуктаprice
— цена продукта
Методы:
- Конструктор, геттеры и сеттеры для свойств
toString()
— строковое представление продукта
-
Bottle
ПодклассProduct
, представляющий бутылку. Дополнительно содержит свойство:volume
— объем бутылки
Методы:
- Конструктор, геттеры для объема
toString()
— строковое представление с учетом объема
-
HotDrink
Абстрактный класс, наследующийProduct
, представляющий горячие напитки. Содержит свойства:volume
— объем напитка
Методы:
- Конструктор, геттеры и сеттеры для объема
- Абстрактный метод
prepare()
— для приготовления напитка
-
HotDrinkWithTemp
ПодклассHotDrink
, представляющий горячие напитки с заданной температурой. Дополнительно содержит свойство:specificTemperature
— температура напитка
Методы:
- Конструктор, геттеры для температуры
toString()
— строковое представление с учетом температуры- Реализация метода
prepare()
-
VendingMachine
Класс, представляющий вендинговую машину. Содержит свойства:id
— идентификатор машиныproductId
— идентификатор продукта (для уникального присвоения)productList
— список продуктов в машине
Методы:
- Конструктор, геттеры и сеттеры для идентификатора
addProduct(Product product)
— добавление продукта в машинуgetProductsInfo()
— получение информации обо всех продуктахgetProduct(String name, double volume, int temperature)
— поиск продукта по параметрам (для горячих напитков)
-
Main
Основной класс с методомmain()
, демонстрирующий создание и работу вендинговой машины.Примеры:
- Создание экземпляра
VendingMachine
- Добавление продуктов
- Вывод информации о продуктах
- Поиск и выдача конкретного продукта
- Создание экземпляра
Для запуска проекта:
- Скомпилируйте все классы с помощью команды
javac
. - Запустите основной класс
Main
с помощью командыjava
.
Пример команды для компиляции:
javac -d bin src/ru/gb/vending_machine/products/*.java src/ru/gb/vending_machine/vending/*.java src/ru/gb/vending_machine/Main.java
Пример команды для запуска:
java -cp bin ru.gb.vending_machine.Main
- Классы
Bottle
иHotDrinkWithTemp
могут быть расширены для поддержки дополнительных свойств и методов. HotDrink
является абстрактным классом и требует реализации методаprepare()
в своих подклассах.
- Группа: 6381
- Фамилия и Имя: Bakun Denis