Когда использовать наследование в ООП / Предпочитайте композицию наследованию

Опубликовано: 16 Октябрь 2024
на канале: EngineerSpock - IT & программирование
6,196
347

Бонус за регистрацию на бесплатный 3-х дневный интенсив по написанию нейронок без навыков программирования — лучший в России по количеству полезного и эксклюзивного контента Карьерный мастер-класс в ИИ: https://neural-university.ru/lp_engin...

************************************************
Подписывайтесь на ТГ-канал: https://t.me/engineerspock_it

Подписывайтесь на YouTube-канал:    / @engineerspock  

Наши курсы: https://offer.engineerspock.com
************************************************
00:00 Введение
00:55 Наследование моделирует отношение является или is-a
04:13 Низкая связанность и высокая связность / Low Coupling и High Cohesion
04:50 Проблемы наследования - высокая связанность / нарушение LSP
05:25 Примеры проблем с наследованием
07:09 Композиция против наследования
08:14 Древние питонисты и статическая типизация
09:43 Наследование для доступа к данным
10:00 Как часто я использовал наследование на практике / паттерны проектирования и наследование
10:43 Наследование, ReadonlyCollection и нарушение LSP
12:05 Костыль для решения проблемы
12:40 Иерархия классов в WPF
13:33 Советы при проектировании наследования / Итоги

В этом видео мы рассмотрим основные аспекты объектно-ориентированного программирования (ООП) и подробнее остановимся на наследовании. Узнаем, почему наследование может вызывать проблемы и почему многие считают, что его использование может быть плохой практикой. Мы также разберем принцип подстановки Барбары Лисков (LSP) и его нарушения в контексте наследования.

Мы обсудим:
Основы наследования в ООП.
Проблемы, возникающие при использовании наследования.
Композиция vs наследование: что выбрать?
Когда лучше использовать композицию вместо наследования.
уделим внимание наследованию в Python, рассмотрим практические примеры и разберем, как избежать распространенных ошибок.

Присоединяйтесь, чтобы улучшить свои навыки программирования и научиться выбирать правильные подходы при разработке!