Skip to content

Номер группы — 6381 Denis Bakun

Notifications You must be signed in to change notification settings

goodLikes/GBLesson1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Вендивговая Машина 🍹

Проект представляет собой имитацию работы вендинговой машины с продуктами, в том числе горячими напитками, используя принципы объектно-ориентированного программирования на языке Java. 🖥️☕

Структура Проекта 📁

Проект включает следующие основные компоненты:

1. Классы Продуктов 🛒

  • Product
    Базовый класс, представляющий продукт. Содержит свойства:

    • id — идентификатор продукта
    • name — название продукта
    • price — цена продукта

    Методы:

    • Конструктор, геттеры и сеттеры для свойств
    • toString() — строковое представление продукта
  • Bottle
    Подкласс Product, представляющий бутылку. Дополнительно содержит свойство:

    • volume — объем бутылки

    Методы:

    • Конструктор, геттеры для объема
    • toString() — строковое представление с учетом объема
  • HotDrink
    Абстрактный класс, наследующий Product, представляющий горячие напитки. Содержит свойства:

    • volume — объем напитка

    Методы:

    • Конструктор, геттеры и сеттеры для объема
    • Абстрактный метод prepare() — для приготовления напитка
  • HotDrinkWithTemp
    Подкласс HotDrink, представляющий горячие напитки с заданной температурой. Дополнительно содержит свойство:

    • specificTemperature — температура напитка

    Методы:

    • Конструктор, геттеры для температуры
    • toString() — строковое представление с учетом температуры
    • Реализация метода prepare()

2. Класс Вендивговой Машины 🏪

  • VendingMachine
    Класс, представляющий вендинговую машину. Содержит свойства:

    • id — идентификатор машины
    • productId — идентификатор продукта (для уникального присвоения)
    • productList — список продуктов в машине

    Методы:

    • Конструктор, геттеры и сеттеры для идентификатора
    • addProduct(Product product) — добавление продукта в машину
    • getProductsInfo() — получение информации обо всех продуктах
    • getProduct(String name, double volume, int temperature) — поиск продукта по параметрам (для горячих напитков)

3. Главный Класс 🚀

  • Main
    Основной класс с методом main(), демонстрирующий создание и работу вендинговой машины.

    Примеры:

    • Создание экземпляра VendingMachine
    • Добавление продуктов
    • Вывод информации о продуктах
    • Поиск и выдача конкретного продукта

Запуск Проекта ⚙️

Для запуска проекта:

  1. Скомпилируйте все классы с помощью команды javac.
  2. Запустите основной класс 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

About

Номер группы — 6381 Denis Bakun

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%