Узнайте, что такое гибридное наследование в C++, как оно работает и почему оно полезно. Изучите некоторые примеры гибридного наследования в C++ с помощью фрагментов кода.
В процессе наследования объекты одного класса приобретают свойства и поведение другого класса. Здесь новый класс является производным от существующего базового класса. Производный класс-член обычно называется дочерним классом и членом базового класса родительского класса. После создания дочернего класса он наследует все свойства и методы родительского класса.
Кроме того, дочерний класс может иметь свои эксклюзивные свойства и методы, предназначенные для определенной цели. Дополнительные функции, добавленные локально в существующий класс, не повлияют на свойства, унаследованные от родительского класса. Таким образом, новый класс будет сочетать в себе черты обоих классов.
Наследование в C++ позволяет приобретать характеристики и поведение одного класса другим. Базовый класс — это родительский класс производного класса, от которого он наследуется. Помимо наследования, дочерний класс может иметь уникальные атрибуты и методы, предназначенные для конкретного использования. Важно отметить, что функции, добавленные локально, не влияют на унаследованные характеристики, поэтому объединенные черты родительского и дочернего классов легко включаются в новый класс. В C++ эта динамика обеспечивает эффективное повторное использование кода и адаптируемые иерархии классов.
Часто в реальности программисту необходимо разработать объект, который должен:
1) обладать всеми качествами своего родителя, а кроме того,
2) в некоторых аспектах настойчивость имеет особое значение.
Кодирование таких исключительных свойств в основном классе не обязательно может быть практичным и экономичным. В этом случае новый класс создается путем расширения базового класса. Кроме того, производя его от другого класса, обладающего дополнительными качествами. Таким образом, вы можете повторно использовать, расширять или изменять атрибуты и поведение, определенные в других классах. Таким образом, дочерний класс, полученный из нескольких классов, дает объект, который легко поддерживать и портировать. Производный класс — это специализированный класс базового класса.
Технически ключевое слово «extends» используется для наследования класса. C++ использует символ двоеточия («:») для наследования от класс.
При создании объектов в программировании на C++, требующих двойственной природы, то есть наличия как уникальных свойств, отличающих их от родительского объекта, так и всех качеств родительского объекта, наследование играет решающую роль. Возможно, традиционный метод добавления исключительных качеств прямо в основной класс не всегда практичен и экономичен.
Для решения этой проблемы создается новый класс, который расширяет базовый класс и может даже быть производным от другого класса с дополнительными свойствами. Этот метод повышает эффективность и удобство сопровождения кода, позволяя повторно использовать, расширять или изменять характеристики и действия, определенные в разных классах.
Сложный объект, который плавно сочетает в себе унаследованные признаки и вмещает специализированные атрибуты, создается путем наследования дочернего класса от нескольких классов. Это приводит к замечательной эффективности кода на 20 %, которую легко поддерживать и легко переносить в различных контекстах. Оптимизируя процессы разработки и скорость приложений, программисты могут создавать универсальные и адаптивные объекты с гибридным наследованием в программах на C++.
Использование комбинации наследования и реализации различаются по целям, в которых создаются классы. В C++ доступны различные типы наследования, перечисленные ниже:
Другими словами, в объектно-ориентированном программировании (ООП) для производного или дочернего класса может быть только один родительский класс.
Одиночное наследование поощряет повторное использование кода и создает иерархическую связь между классами путем передачи методов и атрибутов одного базового класса производному классу. Помимо добавления новых свойств и методов, производный класс может изменять или расширять функции, унаследованные от исходного класса.
Вот базовая программа гибридного наследования на C++:
Используя пространство имен std, #include <iostream>;
// Базовый класс Animal { public: void eat() { cout \\ «Животное ест» \\ endl;
// Производный класс только с одним наследованием Dog: public Animal { public: void bark() { cout \\ «Собака лает» \\ endl; ;
Функция int main() { Dog myDog; мояСобака.еать(); Унаследовано от класса Animal myDog.bark(); Специально для класса собак.
возвращается 0;
В этом случае используется одиночное наследование для создания класса Dog из класса Animal. Класс Dog добавляет собственный метод bark() и наследует метод eat() метод.
Здесь класс B и класс C являются производными от базового класса класса A.
Иерархическая классификация автомобилей показывает два класса. И «Бензиновые автомобили», и «Электрические автомобили» произошли от базового класса «Автомобили».
Могут возникнуть ситуации, когда нам необходимо применить два или более типа наследования в сочетании для разработки программы. Если программа использует более одного типа наследования, она называется гибридным наследованием.
Гибридное наследование — это сочетание простого, множественного и иерархического наследования. Обычно при множественном наследовании класс является производным от двух классов, где один из родительских классов также является производным, а не базовым классом.
Гибридное наследование в C++ — это наследование, при котором класс является производным от более чем одной формы или комбинации любого наследования. гибридное наследование в C++ также называется многопутевым наследованием, при котором один производный класс может наследовать свойства базового класса по разным путям. Иногда его также называют многопутевым наследованием. Например, этого можно добиться с помощью сочетания многоуровневого и иерархического наследования.
Короче говоря, гибридное наследование — это комбинация двух или более типов наследования. Например, реализовав в одной программе одно- и многоуровневое наследование.
Диаграмма представляет собой гибридную комбинацию двух наследств; единое и множественное наследство. Здесь при одиночном наследовании класс B является производным от класса A. Аналогично при множественном наследовании класс D наследуется от нескольких классов. Здесь класс B и класс C. Итак, сочетание одиночного и множественного наследования образует гибридное наследование.
Гибридное наследование применимо в сценариях, где нам необходимо применить более одного наследования в программе.
Типичный синтаксис и семантика гибридного наследования в C++ будут выглядеть следующим образом:
Пример 1. Одиночное + множественное наследование
Давайте посмотрим, как реализовано одиночное и множественное наследование.
Каждый блок на этой диаграмме представляет класс, а соответствующая стрелка — наследование класса.
Пример 2: Одноуровневое + многоуровневое наследование
Мы также можем реализовать другие типы наследования, чтобы создать гибридное наследование.
Давайте рассмотрим пример в реальном времени.
Мы получаем подкласс автомобиля из класса Vehicle. Еще один класс характеризует Racing. Когда мы получим финальную сущность как из класса Car, так и из класса Racing, она даст объединенный результат. Этой производной является Ferrari – гоночная машина.
Вот простая программа, иллюстрирующая концепцию гибридного наследования в C++.