- Создайте следующие протоколы и определите в них свойства и методы.
- 1.1. Ресторан
- Свойства: название, сотрудники, склад с продуктами, меню.
- 1.2. Сотрудник
- Свойства: имя, пол, возраст, должность (менеджер, повар, официант и т.д.).
- 1.3. Блюдо
- Свойства: тип блюда (салат, горячее, гарнир, десерт), ингредиенты (картофель, лук, мясо, соль), время приготовления, цена.
- 1.4. Заказ
- Свойства: время получения заказа, время отдачи заказа, блюда в заказе, готовность.
- Создайте следующие классы и структуры.
- 2.1. Должности (менеджер, повар, официант и т.д.) подписать под протокол Сотрудник. Свойства и методы зависят от должности. Для поваров продумать несколько должностей. Каждый должен иметь метод “готовить”, но иметь еще свои методы. Например, повар холодного цеха делает салаты; повар горячего цеха умеет варить и жарить, шеф-повар умеет все (можно сделать привязку к типу блюда).
- 2.2. Конкретные блюда подписать под протокол Блюда. Ингредиенты зависят от типа блюда. Например, для яичницы нужны: яйца, масло, соль. Создать минимум 5 блюд.
- 2.3. Заказ подпишите под протокол Заказы.
- Создайте хранилища:
- продукты (ингредиенты), хранящиеся на складе с указанием количества (продумайте, какой вид коллекции использовать). Создайте минимум 15 продуктов на складе.
- заказы. Содержит в себе заказы.
Добавлять свои свойства и методы допустимо.
Продумайте, где можно и нужно использовать enum вместо стандартных свойств.