#Kata Ad-hoc polymorphism en Scala.

En este post te voy a explicar como funciona el polimorfismo ad-hoc en Scala.

Antes de empezar.

En Scala se reconocen 3 formas de implementar el polimorfismo. La primera es usando la herencia, la segunda, con el uso de type parameters, y la tercera con el uso de algo que se denomina polimorfismo ad-hoc. Este término no es más que implementar un comportamiento específico a partir de un contrato, sin heredar de ningún trait o clase directamente.

En resumen, polimorfismo ad-hoc es polimorfismo sin herencia.

¿Cómo se implementa el polimorfismo ad-hoc?

El polimorfismo sin herencia tiene tres factores en común. El primero ocupa un contrato no vinculante, que en el caso de Scala es el trait. Segundo, se emplean type parameters para generalizar comportamiento. Y tercero, empleas algún tipo de componente implícito para especificar el comportamiento particular.

 

Implicit classes y ad-hoc.

No existe una única manera de implementar el polimorfismo en Scala. El siguiente ejemplo hace uso de implicit classes

Conclusiones.

El polimorfismo es un concepto. Si vienes del paradigma orientado a objetos, en lenguajes como C# o Java, solo tienes un mecanismo de aplicar el polimorfismo, que es el que te da el lenguaje. En el caso de Scala y sus herramientas de inferencia, existe más de un modo de aplicar el polimorfismo.

Gustavo Sánchez