Слово «полиморфизм» буквально означает наличие различных форм или форм. Точно так же в парадигме объектно-ориентированного программирования полиморфизм может быть достигнут несколькими способами: к одному объекту разных классов можно получить доступ через один и тот же интерфейс, или один метод может иметь несколько реализаций для одного объекта. Полиморфизм - одна из основных и даже очень важных концепций объектно-ориентированного программирования. Давайте подробнее рассмотрим его использование, типы, работу и важность.

Типы полиморфизма

В ООП есть два типа полиморфизма. Первый - это полиморфизм времени компиляции. Второй - полиморфизм времени выполнения (также известный как диспетчер динамических методов).

1. полиморфизм времени компиляции:

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

ВЫХОД: 11, 12.75, 12.306

1. полиморфизм времени выполнения:

Способ достижения полиморфизма во время выполнения - переопределение метода, при котором несколько методов создаются с одной и той же сигнатурой и отличаются по параметрам, но существуют в разных классах. Этот тип полиморфизма также известен как Диспетчер динамических методов. Существует два способа достижения диспетчеризации динамических методов с помощью переопределения, т. Е. 1. С помощью ссылки на родительский класс для создания объекта дочернего класса и вызова для переопределения метода ИЛИ 2. С помощью ссылки на интерфейс для создания объекта класса для вызова переопределенного метода. Причина, по которой этот тип полиморфизма называется полиморфизмом времени выполнения, заключается в том, что компилятор принимает решение во время выполнения -время выбора метода для вызова и из какого класса.

1. Использование справочника родительского класса:

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

2. С помощью справки по интерфейсу:

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

Это достигается путем создания интерфейса с методами и реализации интерфейса для классов. Затем методы вызываются со ссылкой на интерфейс, но с объектом класса, метод которого вы хотите вызвать.

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