Урок 75. Summary session 19

📁 Блок: OOP ⏱️ Время изучения: ~60 мин 🎯 Сложность: Повторение
#class #mro #super #hasattr #property #pass #print #def #return #if #raise #not #max #append #copy

⚡ Кратко: суть темы

Summary session — урок повторения ключевых тем: множественное наследование, миксины, MRO, super(), композиция, агрегация и инкапсуляция.

  • Множественное наследование позволяет классу наследовать сразу от нескольких родителей; порядок важен, конфликты разрешаются через MRO.
  • Миксины добавляют поведение без собственного состояния; hasattr() проверяет наличие атрибутов.
  • Инкапсуляция скрывает детали реализации; уровни доступа public, _protected, __private; @property делает методы похожими на атрибуты.

Что запомнить: перед выбором между наследованием и композицией спросите: «это is-a или has-a?».

Частая ошибка: забывать, что super() в множественном наследовании идёт по MRO, а не просто к прямому родителю.

📖 О чём этот урок

Summary session 19 объединяет материал трёх предыдущих уроков: множественного наследования, миксинов, MRO, композиции, агрегации и инкапсуляции. Цель — систематизировать знания и подготовиться к следующим темам: абстрактные классы и пользовательские исключения.

Что повторим

  • Синтаксис и особенности множественного наследования.
  • hasattr(), миксины и порядок разрешения методов (MRO).
  • super() в цепочках наследования.
  • Композиция vs агрегация.
  • Уровни доступа и манглирование имён.
  • Геттеры, сеттеры и @property.

📚 Что повторить перед изучением

🎯 Что изучать дальше