ALEGSA.com.ar

Definición de Polimorfismo (programación)

Significado de Polimorfismo: (polymorphism). En programación, polimorfismo es una característica de un lenguaje de programación que permite a los valores de diferentes tipos de ...
25-06-2025 22:54
¡Nos ayudas mucho si nos sigues en nuestras Redes Sociales para poder mantener este sitio totalmente gratuito!

 


Definición de Polimorfismo (programación)

 

(polymorphism). En programación, el polimorfismo es una característica de ciertos lenguajes de programación que permite tratar valores de distintos tipos de datos mediante una misma interfaz o conjunto de operaciones. Esto significa que una misma función o método puede operar sobre objetos de diferentes clases o tipos, sin necesidad de conocer su implementación interna.

Por ejemplo, en un lenguaje orientado a objetos como Java, se puede declarar un método dibujar() en una superclase Figura, y luego implementar dibujar() de manera diferente en las subclases Círculo y Rectángulo. Así, al invocar dibujar() sobre cualquier objeto de tipo Figura, el lenguaje seleccionará automáticamente la implementación apropiada según el tipo real del objeto.


Tipos de polimorfismo: ad-hoc y paramétrico



Existen dos tipos principales de polimorfismo:


  • Polimorfismo ad-hoc: Se da cuando el conjunto de tipos que pueden ser utilizados es finito y las combinaciones deben ser definidas explícitamente. Esto incluye la sobrecarga de funciones u operadores y la implementación de métodos en diferentes subclases. Por ejemplo, una función suma() puede estar sobrecargada para sumar enteros, flotantes o concatenar cadenas.

  • Polimorfismo paramétrico: Permite escribir código que puede operar sobre cualquier tipo, sin especificar tipos concretos. Se utiliza, por ejemplo, en plantillas de C++ o genéricos en Java y C#. Así, una función puede recibir parámetros de cualquier tipo, aumentando la reutilización y flexibilidad del código.



Polimorfismo en programación orientada a objetos



En programación orientada a objetos, el polimorfismo ad-hoc se logra principalmente mediante la herencia y la redefinición de métodos (también llamado polimorfismo de inclusión). Esto permite tratar a los objetos derivados como si fueran objetos de la superclase, facilitando la extensibilidad y el mantenimiento del código.

Por otro lado, la sobrecarga de métodos y operadores también es una forma de polimorfismo ad-hoc, donde varias funciones con el mismo nombre pueden operar sobre diferentes tipos de argumentos.

Polimorfismo en programación funcional y genérica



El polimorfismo paramétrico es característico de lenguajes funcionales de tipado estático como Haskell o ML, y de lenguajes con soporte de genéricos como Java, C# y C++. Permite definir funciones o estructuras de datos que pueden trabajar con cualquier tipo de dato, incrementando la reutilización y seguridad del código.

Ejemplo: En Java, una clase genérica Lista<T> puede almacenar elementos de cualquier tipo, como Lista<Integer> o Lista<String>.


Ventajas y desventajas del polimorfismo




  • Ventajas: Facilita la reutilización de código, mejora la extensibilidad, y permite escribir programas más flexibles y fáciles de mantener. Permite trabajar con colecciones de objetos de diferentes tipos de manera uniforme.

  • Desventajas: Puede dificultar la comprensión del flujo del programa, ya que el método ejecutado depende del tipo real en tiempo de ejecución. Además, un uso excesivo puede afectar el rendimiento y la claridad del código.




Comparación con otras técnicas



El polimorfismo se diferencia de la abstracción y la encapsulación en que se centra en la capacidad de tratar diferentes tipos de manera uniforme, mientras que las otras técnicas se enfocan en ocultar detalles de implementación y proteger los datos internos de los objetos.


Resumen: Polimorfismo



El polimorfismo en programación es la capacidad de manejar diferentes tipos de datos usando una interfaz común. Existen dos tipos principales: ad-hoc (definido explícitamente para cada tipo) y paramétrico (definido para cualquier tipo). Es fundamental en la programación moderna, especialmente en la orientada a objetos y en lenguajes con soporte para genéricos o plantillas.


¿Cuál es la definición de polimorfismo en programación?



El polimorfismo en programación es la capacidad de un lenguaje para manejar valores de diferentes tipos de datos utilizando una interfaz uniforme, permitiendo que funciones o métodos trabajen con múltiples tipos de datos.


¿Qué son las funciones polimórficas?



Las funciones polimórficas son aquellas que pueden ser aplicadas a valores de diferentes tipos, adaptando su comportamiento según el tipo de dato recibido. Esto proporciona mayor flexibilidad y reutilización en el desarrollo de software.


¿Cuáles son los dos tipos de polimorfismo?



Los dos tipos principales son el polimorfismo ad-hoc (definido para un conjunto finito de tipos) y el polimorfismo paramétrico (definido para cualquier tipo).


¿Qué es el polimorfismo ad-hoc?



El polimorfismo ad-hoc ocurre cuando el rango de tipos que pueden ser utilizados es limitado y cada combinación debe ser especificada de manera individual, mediante sobrecarga de funciones o redefinición de métodos en subclases.


¿Cómo se implementa el polimorfismo ad-hoc en programación orientada a objetos?



En programación orientada a objetos, el polimorfismo ad-hoc se implementa principalmente a través de la herencia y la redefinición de métodos, permitiendo que objetos de diferentes clases sean tratados uniformemente como miembros de una superclase común.


¿Cómo se implementa el polimorfismo paramétrico en lenguajes de programación funcionales de tipado estático?



En lenguajes funcionales de tipado estático y en lenguajes con soporte de genéricos, el polimorfismo paramétrico se implementa escribiendo código sin hacer referencia a tipos específicos, permitiendo su uso con cualquier tipo de dato de manera transparente y segura.





Autor: Leandro Alegsa
Actualizado: 25-06-2025

¿Cómo citar este artículo?

Alegsa, Leandro. (2025). Definición de Polimorfismo. Recuperado de https://www.alegsa.com.ar/Dic/polimorfismo.php

Diccionario informático



Compartir nota:

 


articulos
Asistente IA
Escribe tu consulta sobre informática y tecnologías al asistente de Inteligencia Artificial
¡te responderá en segundos!




* ACLARACIÓN: Sugerimos dejar tu email si quieres que te contactemos para una respuesta de nuestro staff o corregir la respuesta de la IA.


Nuestras Redes

Puedes seguirnos y contactarnos en nuestras redes.
Facebook
WhatsApp
Instagram
Facebook Horoscopo

Usa nuestro buscador para definiciones, informática y tecnologías