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

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

Три ветви полиморфизма

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

Пример полиморфизма в Java

Пример кода

 class OverloadedObject {void overloadedMethod (int a) {System.out.println ("Этот метод вызывается, когда параметр является целым числом. a =" + a); } void overloadedMethod (int a, int b) {System.out.println ("Этот метод вызывается, когда есть два параметра, и они оба являются целыми числами. a =" + a + ", b =" + b); } void overloadedMethod (double a) {System.out.println ("Этот метод вызывается, когда есть один параметр, и это число с двойной точностью. a =" + a); }} class DemonstrateOverloading {public static void main (String args []) {OverloadedObject myObj = new OverloadedObject (); myObj.overloadedMethod (1); myObj.overloadedMethod (2, 3); myObj.overloadedMethod (4); }} 

Пример вывода кода

 Этот метод вызывается, когда параметр является целым числом. a = 1 Этот метод вызывается, когда есть два параметра, и они оба являются целыми числами. a = 2, b = 3 Этот метод вызывается, когда параметр является числом с двойной точностью. а = 4 

Обратите внимание, что он выдает разные выходные данные, основанные на разных входных параметрах, даже если вызываемый класс и имя метода каждый раз совпадают.

Объектно-ориентированный, Выход, Параметр, Полиморфный вирус, Язык программирования, Термины программирования