Pregunta

¿consideraría autoboxing en Java a ser una forma de polimorfismo? Dicho de otra manera, ¿cree que autoboxing amplía las capacidades polimórficas de Java?

¿Qué pasa con las conversiones implícitas en Scala?

Mi opinión es que ambos son ejemplos de polimorfismo. Ambas características permiten valores de los diferentes tipos de datos para ser manejados de una manera uniforme.

Mi colega no está de acuerdo conmigo. ¿Quién tiene razón?

¿Fue útil?

Solución

Wikipedia :

polimorfismo Subtipo, casi universalmente llamado simplemente polimorfismo en el contexto de objeto orientado a programación, es la capacidad de una tipo, A, que aparezca como y utilizarse como otro tipo, B.

Las conversiones implícitas en Scala son conversiones. Un objeto se convierte a otro objeto.

Autoboxing es la creación de un objeto (de nuevo, una conversión).

Por lo tanto, estos no son polimorfismo.

Otros consejos

Yo personalmente considere autoboxing como una especie de truco a veces con resultados inesperados.

 Boolean b = null;
 boolean b2 = b; // oops

La parte difícil de autoboxing es que no es realmente un molde, que (sólo) cambia el tipo, pero más de una conversión de valor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top