Обзор главы

В главе рассказывается об объектно-ориентированном программировании (ООП).

Раньше у нас был процедурный подход. Записывали алгоритм в виде набора процедур (функций). Сейчас будем записывать в виде набора объектов и писать как эти объекты могут взаимодействовать.

Класс - это новый тип данных, который вы можете написать.

Уже известные вам классы: int, str, list, dict и так далее.

Основные принципы ООП:

  • Инкапсуляция - к атрибутам объекта доступаются не напрямую, а через методы. Для чего? Ограничиваем возможность сломать класс.
  • Наследование - добавляем к существующему классу новые атрибуты и методы. Можно воспользоваться полями и методами родительских классов. Цепочки наследования. Множественное наследование.
  • Полиморфизм - в классах-наследниках можно изменить методы родительского класса. По факту будет вызываться самый последний переопределенный метод в цепочке наследования.

Источники (рекомендую)

  • Быстро и на пальцах:

  • Медленно для начинающих:

    • Think Python by Downey
  • Подробно:

    • Лутц. Изучаем Python
    • Саммерфилд. Программирование на Python 3
  • Читать дальше патерны программирования:

    • Pyhon in Practice by Sammerfield
    • Гради Буч Объектно-ориентированный анализ и проектирование с примерами приложений

results matching ""

    No results matching ""