ООП 8 "Моносостояние". Объектно-ориентированное программирование в Python.

YOUTUBE · 01.12.2025 09:47

Ключевые темы и таймкоды

Введение в паттерн «состояние»

0:00
  • Обсуждение проблемы: экземпляры класса имеют разное состояние.
  • Пример с классом «Кошка» и атрибутом «порода».
  • Изменение атрибута одного экземпляра не влияет на другие.

Решение проблемы

0:57
  • Создание изменяемого объекта — словаря для хранения состояния.
  • Использование «волшебной переменной» `dict` для хранения атрибутов экземпляра.
  • Инициализация словаря при создании экземпляра.

Реализация паттерна

1:55
  • Переопределение класса для использования словаря.
  • Пример изменения атрибута «порода» на «сиамская» и его влияние на все экземпляры.
  • Добавление нового атрибута «имя» и его распространение на все экземпляры.

Заключение

3:54
  • Объяснение работы паттерна: все объекты имеют ссылку на один и тот же словарь.
  • Упоминание о защищённом атрибуте и обещание рассказать о нём в следующем видео.
  • Благодарность за просмотр.