Разница между полиморфизмом и наследованием в ООП

Оглавление:

Разница между полиморфизмом и наследованием в ООП
Разница между полиморфизмом и наследованием в ООП

Видео: Разница между полиморфизмом и наследованием в ООП

Видео: Разница между полиморфизмом и наследованием в ООП
Видео: Ё*кий полиморфизм 2024, Ноябрь
Anonim

Ключевая разница - полиморфизм и наследование в ООП

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

Что такое полиморфизм в ООП?

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

Перегрузка

Обратитесь к приведенной ниже программе, написанной на Java.

Разница между полиморфизмом и наследованием в ООП
Разница между полиморфизмом и наследованием в ООП

Рисунок 01: Перегрузка

По приведенной выше программе создается объект типа A. При вызове obj.sum(); это даст вывод, связанный с методом sum(). При вызове obj.sum(2, 3); это даст вывод, связанный с суммой (int a, int b). Можно заметить, что один и тот же объект ведет себя по-разному в зависимости от ситуации. Когда существует несколько методов с одинаковым именем, но с разными параметрами, это называется перегрузкой. Он также известен как статическое связывание или полиморфизм времени компиляции.

Переопределение

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

Разница между полиморфизмом и наследованием в ООП_Рисунок 02
Разница между полиморфизмом и наследованием в ООП_Рисунок 02

Рисунок 02: Переопределение

Согласно приведенной выше программе, в классе A есть метод display(). Класс B является расширением класса A. Следовательно, все методы в классе A доступны для класса B. Это наследование. Концепция наследования будет описана позже.

Класс B также имеет тот же метод display(). При создании объекта типа A и вызове метода отображения на выходе будет B. Метод отображения класса A переопределяется методом отображения класса B. Итак, выход B.

Когда есть методы с одинаковыми именами и одинаковыми параметрами, но в двух разных классах, и они связаны с наследованием, это называется переопределением. Он также известен как позднее связывание, динамическое связывание, полиморфизм времени выполнения. Перегрузка и переопределение называются полиморфизмом. Это основная концепция объектно-ориентированного программирования.

Что такое наследование в ООП?

Обратитесь к приведенной ниже программе, написанной на Java.

Ключевая разница между полиморфизмом и наследованием в ООП
Ключевая разница между полиморфизмом и наследованием в ООП

Рисунок 03: Пример наследования

Согласно приведенной выше программе, класс A имеет метод sum(), а класс B имеет метод sub().

Метод sum() класса A можно использовать в классе B с помощью ключевого слова extend. Повторное использование свойств и методов существующего класса для создания нового класса называется наследованием. Даже в классе B нет метода sum(); он унаследован от класса A. Наследование полезно для повторного использования кода. Более старый класс называется базовым классом, суперклассом или родительским классом. Производный класс называется подклассом или дочерним классом.

Виды наследования

Существуют различные типы наследования. Это одноуровневое наследование, многоуровневое наследование, множественное наследование, иерархическое наследование и гибридное наследование.

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

В одиночном наследовании есть один суперкласс и один подкласс. Если класс A является суперклассом, а класс B является подклассом, все свойства и методы класса A доступны для класса B. Существует только один уровень; поэтому это называется одноуровневым наследованием.

Многоуровневое наследование

В многоуровневом наследовании есть три уровня классов. Промежуточный класс наследуется от суперкласса. Подкласс наследуется от промежуточного класса. Если есть три класса, такие как A, B и C, и A является суперклассом, а B является промежуточным классом. Тогда B наследуется от A, а C наследуется от B, это многоуровневое наследование.

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

В множественном наследовании есть много суперклассов и один подкласс. Если есть три суперкласса с именами A, B, C и D является подклассом, то класс D может наследовать от A, B и C. Множественное наследование поддерживается в языке программирования C++. Он не поддерживается в таких языках программирования, как Java или C. Интерфейсы используются для реализации множественного наследования на этих языках.

Иерархическое наследование

Если есть классы с именем A в качестве суперклассов, а B, C являются подклассами, эти подклассы могут наследовать свойства и методы класса A. Такой тип наследования известен как иерархическое наследование.

Гибридное наследование

Есть еще один особый тип наследования, известный как гибридное наследование. Это сочетание многоуровневого и множественного наследования. Если A, B, C и D являются классами, а B наследуется от A, а D наследуется от B и C, то это гибридное наследование.

Каковы сходства между полиморфизмом и наследованием в ООП?

Оба являются концепциями объектно-ориентированного программирования

В чем разница между полиморфизмом и наследованием в ООП?

Полиморфизм против наследования в ООП

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

Резюме – Полиморфизм и наследование в ООП

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

Загрузить PDF Полиморфизм и наследование в ООП

Вы можете загрузить PDF-версию этой статьи и использовать ее в автономном режиме в соответствии с примечанием к цитированию. Пожалуйста, загрузите PDF-версию здесь. Разница между полиморфизмом и наследованием в ООП

Рекомендуемые: