Войти Создать аккаунт

Декораторы · 7 из 14

Декоратор на методе

Задействованы также: ООП

Окон в отделении три, и каждое считает свои операции: у кого сколько за смену. Счётчик нужен у окна, а не один на всё отделение — иначе премию делить не по чему.

Что сделать

Посчитайте операции каждого окна отдельно — декоратором на методах.

Что приходит

  • nomer — номер окна

Что должен уметь

Поле operacii — сначала 0; методы prinyat(ves) и vydat(komu) под декоратором schitat отдают "окно 1: принято 500 г" и "окно 1: выдано Марине" и увеличивают счёт своего окна.

Допишите класс Okno в редакторе справа. Проверка создаёт его объекты и зовёт методы — то, что напечатано, на проверку не влияет.

Пример

Первое окно приняло посылку и выдало письмо, второе — только приняло: (2, 1). Имена методов не теряются — Okno.prinyat.__name__ по-прежнему "prinyat".

Тот же пример кодом
Перед вызовом
pervoe = Okno(1)
vtoroe = Okno(2)
pervoe.prinyat(500)
pervoe.vydat("Марине")
vtoroe.prinyat(1000)
Вызов
(pervoe.operacii, vtoroe.operacii)
Вернуть
(2, 1)
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.