Одиночное наследование или множественное наследование

Автор: Laura McKinney
Дата создания: 4 Апрель 2021
Дата обновления: 4 Май 2024
Anonim
Множественное наследование c++ пример.  ООП. Изучение С++ с нуля для начинающих. Урок #109
Видео: Множественное наследование c++ пример. ООП. Изучение С++ с нуля для начинающих. Урок #109

Содержание

Основное различие между одиночным наследованием и множественным наследованием заключается в том, что в одиночном наследовании производный класс наследует только один базовый класс, тогда как в множественном наследовании производный класс наследует более одного базового класса.


Наследование является одним из наиболее важных понятий в ООП, которое является объектно-ориентированным программированием. Понятие повторного использования поддерживается в наследстве. Возможность повторного использования означает, что новый класс повторно использует свойства уже существующего класса. При наследовании наследуемый класс наследует базовый класс и доступ, спецификатор решает, какой член базового класса будет унаследован. Существуют типы наследования: одиночное наследование, иерархическое наследование, многоуровневое наследование и гибридное наследование. При одиночном наследовании производный класс наследует только один базовый класс, тогда как при множественном наследовании производный класс наследует более одного базового класса.

Существует только один производный класс, который унаследован от базового класса. Существует три способа наследования базового класса, который является открытым, защищенным и закрытым. Спецификатор доступа используется для наследования базового класса. Причиной одиночного наследования является наследование свойств и поведения от одного родительского класса. Основная цель объектно-ориентированного программирования, а именно повторное использование кода, достигается с помощью единственного наследования. Если мы говорим об одиночном наследовании по сравнению с множественным наследованием, то единственное наследование должно быть более простым по сравнению с множественным наследованием. Переопределение функций используется в одиночном наследовании. Полиморфизм во время выполнения известен как переопределение. Переопределение достигается использованием виртуального ключевого слова функции. Это ключевое слово используется в базовом классе. Когда производный класс переопределяет функцию, переопределенная функция не может быть изменена. Переопределение в C ++ определяет, какая версия функции вызывается. Одиночное наследование используется в C ++, Java, PHP, C # и визуальной основе.


Множественное наследование позволяет получить более одного базового класса, это означает, что вы можете получить свойства более чем одного базового класса. Мы можем иметь один производный класс и несколько базовых классов. Базовый класс наследуется путем упоминания отдельного спецификатора доступа. Множественное наследование имеет симметричное слияние и асимметричное расширение. При наличии шаблона адаптера используется множественное наследование. Множественное наследование используется в C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl. Реализация кода для множественного наследования является сложной по сравнению с одиночным наследованием.

Содержание: Разница между одиночным наследованием и множественным наследованием

  • Сравнительная таблица
  • Единственное Наследование
  • Множественное наследование
  • Ключевые отличия
  • Заключение
  • Пояснительное видео

Сравнительная таблица

основаЕдинственное НаследованиеМножественное наследование
Смысл При одиночном наследовании производный класс наследует только один базовый класс

При множественном наследовании производный класс наследует более одного базового класса.


 

БезопасныйОдиночное наследование безопаснее, чем множественное наследованиеМногократное наследование небезопасно для реализации
ДоступВ одном наследовании наследуются особенности одного классаПри множественном наследовании функции нескольких классов могут быть унаследованы
время выполнения Одиночное наследование требует больше времени выполненияМножественное наследование требует меньше времени выполнения

Единственное Наследование

Существует только один производный класс, который унаследован от базового класса. Существует три способа наследования базового класса, который является открытым, защищенным и закрытым. Спецификатор доступа используется для наследования базового класса. Причиной одиночного наследования является наследование свойств и поведения от одного родительского класса. Основная цель объектно-ориентированного программирования, а именно повторное использование кода, достигается с помощью единственного наследования. Если мы говорим об одиночном наследовании по сравнению с множественным наследованием, то одиночное наследование должно быть более простым по сравнению с множественным наследованием. Переопределение функций используется в одиночном наследовании. Полиморфизм во время выполнения известен как переопределение. Переопределение достигается использованием виртуального ключевого слова функции. Это ключевое слово используется в базовом классе. Когда производный класс переопределяет функцию, переопределенная функция не может быть изменена. Переопределение в C ++ определяет, какая версия функции вызывается. Одиночное наследование используется в C ++, Java, PHP, C # и визуальной основе.

Множественное наследование

Множественное наследование позволяет получить более одного базового класса, это означает, что вы можете получить свойства более чем одного базового класса. Мы можем иметь один производный класс и несколько базовых классов. Базовый класс наследуется путем упоминания отдельного спецификатора доступа. Множественные наследования имеют симметричное слияние и асимметричное расширение. При наличии шаблона адаптера используется несколько наследований. Множественное наследование используется в C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl. Реализация кода для множественного наследования является сложной по сравнению с одиночным наследованием.

Ключевые отличия

  1. При одиночном наследовании производный класс наследует только один базовый класс, тогда как при множественном наследовании производный класс наследует более одного базового класса.
  2. Одиночное наследование безопаснее, чем множественное наследование, тогда как множественное наследование небезопасно для реализации.
  3. В одном наследовании признаки одного класса наследуются, тогда как в множественном наследовании признаки нескольких классов могут наследоваться.
  4. Одно наследование требует больше времени выполнения, тогда как множественное наследование требует меньше времени выполнения

Заключение

В этой статье выше мы видим четкую разницу между единичным наследованием и множественным наследованием в реализации.

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