Если написать предупреждение «Не нажимай красную кнопку!», то её сразу безумно хочется нажать.
Напишите класс RedButton
, который описывает красную кнопку.
Класс должен реализовывать методы:
click()
— эмулирует нажатие кнопки, выводит сообщение “Тревога!”;count()
— возвращает количество раз, которое была нажата кнопка.
Примечание
Ваше решение должно содержать только классы и функции.
В решении не должно быть вызовов инициализации требуемых классов.
Пример
Ввод
first_button = RedButton()
second_button = RedButton()
for time in range(5):
if time % 2 == 0:
second_button.click()
else:
first_button.click()
print(first_button.count(), second_button.count())
Вывод
Тревога!
Тревога!
Тревога!
Тревога!
Тревога!
2 3
Решение
Задание демонстрирует одно из главных преимуществ ООП – создание независимых объектов с одинаковым поведением, но разным набором данных, коториые в состоянии сообщать о себе полезную информацию и выполнять действия избавляя нас от отслеживания какие конкретно переменные мы должны менять в их свойствах.
Посмотреть код
Решение
Python
class RedButton:
def __init__(self) -> None:
self.counter = 0
def click(self):
self.counter += 1
print('Тревога!')
def count(self):
return self.counter