1. Главная
  2. Библиотека
  3. Программирование
  4. Реализуйте класс Dish, который описывает блюдо в систем...
Разбор задачи

Реализуйте класс Dish, который описывает блюдо в системе доставки еды. Класс должен быть создан с использованием конструктора init. Каждое блюдо должно иметь следующие атрибуты: (строка) — название блюда; (число с плавающей точкой) — цена блюда; _vegan

  • Предмет: Программирование
  • Автор: Кэмп
  • #Основы алгоритмизации и программирования
  • #Языки программирования (C++, Java, Python и др.)
Реализуйте класс Dish, который описывает блюдо в системе доставки еды. Класс должен быть создан с использованием конструктора init. Каждое блюдо должно иметь следующие атрибуты: (строка) — название блюда; (число с плавающей точкой) — цена блюда; _vegan

Условие:

Реализуйте класс Dish, который описывает блюдо в системе доставки еды.

Класс должен быть создан с использованием конструктора __init__.

Каждое блюдо должно иметь следующие атрибуты:
\nname (строка) — название блюда;\nprice (число с плавающей точкой) — цена блюда;\nis_vegan (булево значение) — подходит ли блюдо для веганов.
Атрибуты price и is_vegan должны быть защищенными (начинаться с одного подчеркивания), а атрибут name — публичным.

Добавьте также в класс:

метод get_price(), возвращающий цену;
метод is_suitable_for_vegans(), возвращающий True, если блюдо подходит для веганов, иначе False;
метод __str__, возвращающий строку вида: "Название блюда — 250 руб. (веганское)" или "Название блюда — 750 руб. (не веганское)" (числа никак не округляйте ни в этом, ни в следующих заданиях).

Решение:

  1. Создадим класс Dish, используя метод init для инициализации атрибутов. Атрибут name делаем публичным, а price и is_vegan делаем защищёнными (с одним подчеркиванием в начале имени атрибута).

  2. В конструкторе init принимаем три параметра: name, price, is_vegan и присваиваем их соответствующим атрибутам.

  3. Добавляем метод get_price(), который возвращает значение защищённого атрибута _price.

  4. Добавляем метод is_suitable_for_vegans(), который возвращает True, если _is_vegan равно True, иначе False.

  5. Переопределяем метод str, который возвращает строку в требуемом формате. В строке используем атрибут name, цену с атрибута _...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какой модификатор доступа в Python используется для обозначения атрибута как защищенного (protected)?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет