В этом проекте реализован интернет-магазин с иерархией продуктов и категорий. В рамках домашнего задания 16.2 мы добавили:
- Абстрактный базовый класс
BaseProduct, который задаёт общие свойства и методы для продуктов. - Класс-миксин
CreationInfoMixin, который при создании объектов выводит информацию о созданном экземпляре. - Класс
Product, наследующийся от миксина и абстрактного класса, представляющий общий продукт. - Классы-потомки
SmartphoneиLawnGrass, расширяющие функциональностьProduct. - Класс
Categoryдля управления категориями товаров с подсчётом количества категорий и продуктов, реализованными как свойства класса черезclassproperty. - Итератор по продуктам в категории (
CategoryIterator).
- Использованы абстрактные классы (модуль
abc) для определения интерфейсов. - Множественное наследование для миксинов.
- Внедрена проверка и контролируемое изменение цены продукта.
- Поддержка подсчёта общего количества категорий и продуктов через свойства класса.
- Все объекты продуктов выводят в консоль информацию при создании.
- Совместимость с PEP8.
- Используйте файл
main.pyдля запуска вывода информации о категориях, товарах и статистике. - Для загрузки данных используется JSON-файл с товарами, путь к которому задаётся в
main.py.