importance: 5 --- # Меню с таймером для анимации Есть класс `Menu`. У него может быть два состояния: открыто `STATE_OPEN` и закрыто `STATE_CLOSED`. Создайте наследника `AnimatingMenu`, который добавляет третье состояние `STATE_ANIMATING`. - При вызове `open()` состояние меняется на `STATE_ANIMATING`, а через 1 секунду, по таймеру, открытие завершается вызовом `open()` родителя. - Вызов `close()` при необходимости отменяет таймер анимации (назначаемый в `open`) и передаёт вызов родительскому `close`. - Метод `showState` для нового состояния выводит `"анимация"`, для остальных -- полагается на родителя. [edit src="source" title="Исходный документ, вместе с тестом"]