Слово «полиморфизм» буквально означает наличие различных форм или форм. Точно так же в парадигме объектно-ориентированного программирования полиморфизм может быть достигнут несколькими способами: к одному объекту разных классов можно получить доступ через один и тот же интерфейс, или один метод может иметь несколько реализаций для одного объекта. Полиморфизм - одна из основных и даже очень важных концепций объектно-ориентированного программирования. Давайте подробнее рассмотрим его использование, типы, работу и важность.
Типы полиморфизма
В ООП есть два типа полиморфизма. Первый - это полиморфизм времени компиляции. Второй - полиморфизм времени выполнения (также известный как диспетчер динамических методов).
1. полиморфизм времени компиляции:
Этот тип полиморфизма достигается путем создания нескольких методов с одной и той же сигнатурой (имя метода, тип возвращаемого значения, модификаторы) в одном классе, но с разными параметрами. Параметры могут различаться по количеству или типу данных. Эта процедура называется Метод Перегрузка (пример приведен на изображении ниже).
ВЫХОД: 11, 12.75, 12.306
1. полиморфизм времени выполнения:
Способ достижения полиморфизма во время выполнения - переопределение метода, при котором несколько методов создаются с одной и той же сигнатурой и отличаются по параметрам, но существуют в разных классах. Этот тип полиморфизма также известен как Диспетчер динамических методов. Существует два способа достижения диспетчеризации динамических методов с помощью переопределения, т. Е. 1. С помощью ссылки на родительский класс для создания объекта дочернего класса и вызова для переопределения метода ИЛИ 2. С помощью ссылки на интерфейс для создания объекта класса для вызова переопределенного метода. Причина, по которой этот тип полиморфизма называется полиморфизмом времени выполнения, заключается в том, что компилятор принимает решение во время выполнения -время выбора метода для вызова и из какого класса.
1. Использование справочника родительского класса:
Таким образом, создается класс и в нем создаются методы, а затем создаются другие классы, которые его наследуют. Методы переопределяются в дочернем классе и позже вызываются по мере необходимости. Пример приведен на изображении ниже.
2. С помощью справки по интерфейсу:
Этот тип полиморфизма времени выполнения редко когда-либо используется в обычных программах. Он используется, когда мы работаем с шаблонами проектирования, которые обычно используются разработчиками программного обеспечения и предприятиями для разработки больших проектов.
Это достигается путем создания интерфейса с методами и реализации интерфейса для классов. Затем методы вызываются со ссылкой на интерфейс, но с объектом класса, метод которого вы хотите вызвать.