Python: Полиморфизм
Включено в курс
Чему вы научитесь
- Понимать разницу между разными видами полиморфизма и решаемые ими задачи
- Распознавать и применять шаблоны проектирования (Стратегия, Фабрика, Состояние, Декоратор, Нулл-объект и другие)
- Использовать различные виды диспетчеризации для уменьшения и упрощения кода
Описание
На этом курсе вы познакомитесь с полиморфизмом в Python. Вы узнаете о динамической диспетчеризации, полиморфизме подтипов и инверсии зависимостей. В итоге поймете, как значительно уменьшить количество условных конструкций и сделать код расширяемым. Знания из курса пригодятся, чтобы распознавать и применять шаблоны проектирования.
Этот курс предполагает, что студент уже уверенно владеет синтаксисом и методами работы с функциями и объектами. Также у него должно быть базовое представление об ООП в Python. Если у вас возникнут сложности с этими темами, рекомендуем пройти эти курсы на Хекслете:
- Основы Python
- Python: Cловари и множества
- Python: Абстракция с помощью данных
- Python: Функции
- Python: Введение в ООП
Программа курса
-
3
Диспетчеризация по ключу (данные)
Научимся заменять условные конструкции на таблицу соответствия -
4
Диспетчеризация по ключу (функции)
Научимся делать диспетчеризацию, используя функции -
5
Диспетчеризация по имени файла
Познакомимся с диспетчеризацией на основе файловой структуры -
7
Null Object Pattern
Рассмотрим практический пример использования полиморфизма в реальной жизни -
8
Код, который убивает полиморфизм
Познакомимся с распространенными ошибками, из-за которых теряется полиморфизм подтипов -
9
Инверсия зависимостей
Познакомимся с Принципом инверсией зависимостей и научимся соблюдать его, используя инъекцию зависимостей -
10
Стратегия (Паттерн)
Научимся видеть места, где нужно использовать полиморфизм подтипов -
11
Динамическая диспетчеризация
Изучим механизм, благодаря которому работает полиморфизм -
12
Фабрика (Паттерн)
Познакомимся с распространенным способом создания объектов -
13
Декоратор (Паттерн)
Изучим применение паттерна Декоратор в Python и его связь с полиморфизмом -
14
Шаблоны проектирования (Паттерны)
Познакомимся с понятием «шаблон проектирования» -
15
Объектная композиция
Научимся писать объектно-ориентированный код, построенный на взаимодействии объектов -
16
Состояние (Паттерн)
Рассмотрим несколько примеров систем и выявим общий паттерн -
17
Множественное наследование и миксины
Изучим особенности множественного наследования в Python и применим миксинов для реализации полиморфизма -
18
Дополнительные материалы
Статьи и видео, подобранные командой Хекслета. Помогут глубже погрузиться в тему курса
Формат обучения
Испытания
Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. Обычно мы рекомендуем выполнить 3-5 испытаний. Но если не получается, не отчаивайтесь. Просто вернитесь к ним позже