← К задачам
Средне · +4Паттерны

Паттерн «Декоратор»: добавки к кофе

Реализуйте паттерн Декоратор.

Базовый класс Coffee: cost() возвращает 50, description()"Кофе".

Декораторы оборачивают любой напиток (принимают его в конструктор):

  • Milk — добавляет к стоимости 20 и ", молоко" к описанию;
  • Sugar — добавляет 10 и ", сахар".

Декораторы должны вкладываться друг в друга в любом порядке.

📖 Теория по теме:Decorator
py
Курс по теме
Пройдите курс «Python с нуля» — по шагам, с проверкой
8 уроков · ~14 ч · теория, упражнения и экзамен с бейджем
Открыть курс →
class Coffee:
    def cost(self):
        ...
    def description(self):
        ...

class Milk:
    def __init__(self, drink):
        ...
    def cost(self):
        ...
    def description(self):
        ...

class Sugar:
    def __init__(self, drink):
        ...
    def cost(self):
        ...
    def description(self):
        ...
Здесь появится результат. Напиши решение слева и нажми «Проверить код».
Для запуска тестов необходима авторизация.