Skip to main content

¿Qué es el polimorfismo?

En la programación de software, la programación orientada a objetos (OOP) es un marco que intenta crear objetos a partir de cosas del mundo real. La teoría y la práctica del polimorfismo son fuertemente recomendadas dentro de los principios de la POO. En general, un objeto debe crearse para tener características y comportamientos básicos con el entendimiento de que estos cambiarán cuando se convierta en un tipo específico.

El polimorfismo es la capacidad de tener una variable, función u objeto con más de un significado dentro del programa. Existen múltiples diseños de arquitectura que demuestran el polimorfismo. Estos diseños describen cómo se reutilizará un objeto dentro de una aplicación para múltiples propósitos.

Muchos lenguajes de programación admiten el uso del polimorfismo. Este proceso permite la reutilización de reglas comerciales y código de software en una aplicación. No todos los lenguajes de programación admiten un comportamiento polimórfico completo, pero la mayoría admite el concepto básico. Todos los lenguajes verdaderos de OOP, incluidos Java®, .net y C ++ ® admiten enfoques y técnicas más avanzados.

Una cuenta bancaria es un buen ejemplo de objeto base que podría soportar el polimorfismo. Todas las cuentas bancarias tienen números de cuenta, nombres y un saldo. Lo que hace que una cuenta sea única es el tipo de cuenta. Algunos ejemplos de tipos son cuentas de ahorro, cuentas corrientes o cuentas de mercado monetario. Dentro del polimorfismo, una cuenta bancaria sería el objeto base con las cuentas más específicas utilizando las características de la cuenta bancaria base. Cada cuenta podría tener comportamientos adicionales para respaldar las tasas de interés o multas por retiro mientras reutiliza la información sobre una cuenta bancaria.

Usar las teorías del polimorfismo ahorra tiempo a los desarrolladores al reducir el código perdido. Hace que el código sea más fácil de escribir y más fácil de entender para otros. Además, hace que el software sea extensible, porque los tipos futuros se pueden agregar más tarde utilizando el objeto ancestro base dentro del código existente. En general, las aplicaciones desarrolladas de esta manera son más flexibles y fáciles de extender al requerir menos código para futuras modificaciones.

Las teorías del polimorfismo también se aplican a las funciones. Una función es una pieza de código de software que realiza una tarea específica. Las funciones también se pueden escribir de forma polimórfica. Este enfoque hace que el código sea más flexible porque las funciones se pueden reutilizar para otras reglas comerciales dentro del software.

Un buen ejemplo de polimorfismo con una función sería una función de clasificación. Este tipo de función ordenaría una lista de números. Una función polimórfica no solo podría ordenar números, sino que también podría ordenar cualquier tipo de objeto. Esto hace que la función sea más eficiente porque funciona en múltiples tipos de datos.