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

Оглавление:

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

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

Видео: Разница между полиморфизмом и наследованием в ООП
Видео: Урок по ООП №2. Базовый словарь: инкапсуляция, наследование, полиморфизм, композиция, абстракция 2024, Апрель
Anonim

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

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

СОДЕРЖАНИЕ

1. Обзор и основные различия

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

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

4. Сходства между полиморфизмом и наследованием в ООП

5. Параллельное сравнение - Полиморфизм и наследование в ООП в табличной форме

6. Резюме

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

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

Перегрузка

См. Приведенную ниже программу, написанную на Java.

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

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

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

Отмена

Другой тип полиморфизма преобладает. См. Приведенную ниже программу, написанную на Java.

Разница между полиморфизмом и наследованием в OOP Figure 02
Разница между полиморфизмом и наследованием в OOP Figure 02

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

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

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

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

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

См. Приведенную ниже программу, написанную на Java.

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

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

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

Метод sum () класса A можно использовать в классе B с помощью ключевого слова extension. Повторное использование свойств и методов существующего класса для создания нового класса называется наследованием. Даже в классе 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-версию здесь Разница между полиморфизмом и наследованием в ООП

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