Объектно-ориентированное программирование (ООП) обычно используется для разработки программного обеспечения. Многие языки программирования поддерживают объектно-ориентированное программирование. Объектно-ориентированное программирование - это методология разработки программы с использованием классов и объектов. Класс в ООП - это план создания объекта. У класса есть свойства и методы. Объект является экземпляром класса. ООП содержит четыре столпа, такие как наследование, полиморфизм, абстракция и инкапсуляция. В этой статье обсуждается различие между полиморфизмом и наследованием в ООП. ключевое отличие между полиморфизмом и наследованием в ООП заключается в том, что Полиморфизм - это способность объекта вести себя по-разному, а наследование - это создание нового класса с использованием свойств и методов существующего класса..
1. Обзор и основные отличия
2. Что такое полиморфизм в ООП?
3. Что такое наследование в ООП?
4. Сходства между полиморфизмом и наследованием в ООП
5. Сравнение бок о бок - полиморфизм против наследования в ООП в табличной форме
6. Резюме
Полиморфизм должен указывать на множественные формы. Один объект может иметь несколько вариантов поведения. Полиморфизм можно разделить на две категории. Они перегружены и переопределены.
См. Нижеприведенную программу, написанную на Java.
Рисунок 01: Перегрузка
В соответствии с вышеприведенной программой создается объект типа А. При вызове obj.sum (); это даст результат, связанный с методом sum (). При звонке в obj.sum (2,3); это даст результат, связанный с суммой (int a, int b). Можно наблюдать, что один и тот же объект ведет себя по-разному в зависимости от ситуации. Когда есть несколько методов с одним и тем же именем, но с разными параметрами, это называется перегрузка. Это также известно как статическая привязка или полиморфизм времени компиляции.
Еще один тип полиморфизма переопределение. См. Нижеприведенную программу, написанную на Java.
Рисунок 02: Переопределение
В соответствии с вышеприведенной программой, метод display () в классе A. Класс B расширяется от класса A. Следовательно, все методы в классе A доступны классу B. Это наследование. Концепция наследования описана ниже..
Класс B также имеет тот же метод display (). При создании объекта типа A и вызове метода отображения вывод будет давать B. Метод отображения класса A переопределяется методом отображения класса B. Итак, выход B.
Когда существуют методы с одинаковыми именами и одинаковыми параметрами, но в двух разных классах, и они связаны наследованием, это называется переопределением. Это также известно как Позднее связывание, динамическое связывание, полиморфизм во время выполнения. Перегрузка и переопределение называются полиморфизмом. Это основная концепция в объектно-ориентированном программировании.
См. Нижеприведенную программу, написанную на Java.
Рисунок 03: Пример наследования
Согласно вышеприведенной программе, класс A имеет метод sum (), а класс B имеет метод sub ()..
Метод sum () класса A можно использовать в классе B с помощью ключевого слова extends. Повторное использование свойств и методов в существующем классе для создания нового класса называется Наследование. Даже нет метода sum () в классе B; оно наследуется от класса А. Наследование полезно для повторного использования кода. Старший класс называется базовый класс, суперкласс или родительский класс. Производный класс называется подкласс или детский класс.
Существуют различные виды наследования. Это одноуровневое наследование, многоуровневое наследование, множественное наследование, иерархическое наследование и гибридное наследование.
В Single Inheritance есть один суперкласс и один подкласс. Если класс 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 версию здесь Разница между полиморфизмом и наследованием в ООП