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

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

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

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

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

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

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

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):
        ...
Для запуска тестов необходима авторизация.
Поддержать проект