ycliper

Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
Скачать

12. Наследование и полиморфизм | ООП 2025

Автор: Aleksey Malov

Загружено: 2025-06-09

Просмотров: 216

Описание: Лекция посвящена наследованию в C++ — одному из ключевых принципов объектно-ориентированного программирования. Разбираются основы иерархии классов, правила публичного наследования, порядок вызова конструкторов, использование виртуальных методов и деструкторов. Особое внимание уделено полиморфизму, приведению типов и практическим рекомендациям по проектированию иерархий классов.

Примеры кода и задачи можно найти в моём github-аккаунте: https://github.com/alexey-malov/oop

Чтобы оставаться на связи в условиях блокировки Youtube в России подписывайтесь на мой Telegram-канал https://t.me/vivid_coding

*1. Наследование: суть и иерархия*

Наследование позволяет создавать новые классы на основе существующих, повторно используя код.
Классы-наследники расширяют или переопределяют поведение базовых.
Иерархия оформляется как дерево: пример — `Shape → Circle`.

*2. Публичное наследование*

При публичном наследовании: `public` и `protected` сохраняют модификаторы доступа, `private` остаётся недоступным.
Наследник — частный случай базового класса.

*3. Конструкторы и инициализация*

Сначала вызывается конструктор базового класса.
Для передачи параметров родительскому конструктору используется список инициализации.

*4. Расширение и `using`*

Наследники могут добавлять методы и поля, а также наследовать конструкторы с помощью `using`.

*5. Полиморфизм и приведение типов*

Приведение вверх позволяет использовать наследника как родителя.
Полиморфизм даёт возможность вызывать разные реализации через единый интерфейс.

*6. Виртуальные методы*

Объявляются с `virtual`, переопределяются с `override`.
Механизм основан на таблице виртуальных функций (vtable).
Правило: если метод виртуальный — он остаётся таким во всех наследниках.

*7. Деструкторы*

Базовый класс должен иметь **виртуальный деструктор**, если предполагается полиморфное удаление.
Иначе — риск утечек и неопределённого поведения.

*8. Модификатор `protected`*

Доступен классу и его наследникам.
Лучше использовать `protected` методы, чем напрямую `protected` поля.

*9. Защищённые конструкторы*

Используются для ограничения создания экземпляров базового класса.

*10. Рекомендации*

Используйте `virtual` и `override` осознанно.
Не делайте всё виртуальным по умолчанию.
Инкапсуляцию лучше сохранять через `private` поля и `protected` интерфейс.


Тайм-коды:
0:00 Отношение наследования
10:05 Передача параметров конструктору родителя
16:04 Приведение типа в вверх по иерархии классов
21:43 Виртуальные методы, полиморфизм
33:46 Защищённые данные и методы класса
38:56 Применение защищённого конструктора
40:09 Работа деструкторов при наследовании
58:13 Финальные классы и методы

В заставке использована композиция "Папа может в Си" музыкального коллектива "Научно-технический рэп" (https://vk.com/nii_rap)
Исходный код шейдера из финальной заставки: https://www.shadertoy.com/view/Mcjfzc

Не удается загрузить Youtube-плеер. Проверьте блокировку Youtube в вашей сети.
Повторяем попытку...
12. Наследование  и полиморфизм | ООП 2025

Поделиться в:

Доступные форматы для скачивания:

Скачать видео

  • Информация по загрузке:

Скачать аудио

Похожие видео

11. Статические данные и методы в C++. Композиция, агрегация, ассоциация, зависимость | ООП 2025

11. Статические данные и методы в C++. Композиция, агрегация, ассоциация, зависимость | ООП 2025

13. Виды наследования, абстрактные классы, интерфейсы, приведение типа при наследовании | ООП 2025

13. Виды наследования, абстрактные классы, интерфейсы, приведение типа при наследовании | ООП 2025

13. Корутины C++ 20 - часть 1 | Параллельное программирование 2025

13. Корутины C++ 20 - часть 1 | Параллельное программирование 2025

Принципы ООП, инкапсуляция, абстракция, наследование, полиморфизм, Unity, C#

Принципы ООП, инкапсуляция, абстракция, наследование, полиморфизм, Unity, C#

14. Корутины C++ 20 - часть 2 | Параллельное программирование 2025

14. Корутины C++ 20 - часть 2 | Параллельное программирование 2025

Копия Miro с нуля на React в 2025 + Архитектура front-end БЕЗ FSD!

Копия Miro с нуля на React в 2025 + Архитектура front-end БЕЗ FSD!

⚡️ Путин вступается за Иран || Срочное заседание Совбеза ООН

⚡️ Путин вступается за Иран || Срочное заседание Совбеза ООН

Можно ли поменять родину так быстро? / вДудь

Можно ли поменять родину так быстро? / вДудь

Comedy Club: Борьба с тарелочницами | Екатерина Шкуро, Никита Никитин @ComedyClubRussia

Comedy Club: Борьба с тарелочницами | Екатерина Шкуро, Никита Никитин @ComedyClubRussia

Как АЛКОГОЛИК стал ЛЕГЕНДОЙ футбола - Джейми Варди

Как АЛКОГОЛИК стал ЛЕГЕНДОЙ футбола - Джейми Варди

© 2025 ycliper. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]