¿Qué es el polimorfismo?

En ciencias de la computación, el polimorfismo se refiere a la capacidad de un lenguaje de programación para interpretar objetos de diferentes maneras según su clase o tipo de datos. En esencia, es la capacidad de un solo método para aplicarse a las clases derivadas y lograr un resultado adecuado.

Tres ramas del polimorfismo

  • El polimorfismo ad hoc se produce cuando una función se implementa de manera diferente en función de un número limitado de tipos específicos y combinaciones de parámetros de entrada. Un ejemplo de polimorfismo ad hoc es la sobrecarga de funciones.
  • El polimorfismo paramétrico se produce cuando el código se escribe sin ninguna especificación de tipo, por lo que se puede usar con cualquier número de tipos diferentes que se especifique más adelante. En la programación orientada a objetos, esto suele denominarse programación genérica.
  • El polimorfismo de inclusión, también conocido como subtipo, es cuando un solo nombre puede referirse a instancias de cualquier número de clases diferentes siempre que compartan la misma superclase.

Ejemplo de polimorfismo en Java

Código de ejemplo

 class OverloadedObject {void overloadedMethod (int a) {System.out.println ("Este método se llama cuando el parámetro es un entero. a =" + a); } void overloadedMethod (int a, int b) {System.out.println ("Este método se llama cuando hay dos parámetros, y ambos son números enteros. a =" + a + ", b =" + b); } void overloadedMethod (double a) {System.out.println ("Este método se llama cuando hay un parámetro y es un número de doble precisión. a =" + a); }} clase DemonstrateOverloading {public static void main (String args []) {OverloadedObject myObj = new OverloadedObject (); myObj.overloadedMethod (1); myObj.overloadedMethod (2, 3); myObj.overloadedMethod (4); }} 

Código de salida de ejemplo

 Este método se llama cuando el parámetro es un entero. a = 1 Este método se llama cuando hay dos parámetros, y ambos son enteros. a = 2, b = 3 Este método se llama cuando el parámetro es un número de doble precisión. a = 4 

Observe que produce una salida diferente según los diferentes parámetros de entrada, aunque la clase y el nombre del método invocados sean los mismos cada vez.

Orientado a objetos, Salida, Parámetro, Virus polimórfico, Lenguaje de programación, Términos de programación