Domanda

Vuoi prendere in considerazione autoboxing in Java di essere una forma di polimorfismo? Detto in altro modo, pensi che autoboxing estende le capacità polimorfiche di Java?

Che dire di conversioni implicite a Scala?

La mia opinione è che sono entrambi esempi di polimorfismo. Entrambe le caratteristiche consentono valori di tipi di dati da trattare in modo uniforme.

Il mio non è d'accordo collega con me. Chi ha ragione?

È stato utile?

Soluzione

Wikipedia :

  

sottotipo polimorfismo, quasi   universalmente chiamato solo il polimorfismo   nel contesto orientato agli oggetti   la programmazione, è la possibilità di una   tipo A, di apparire come e utilizzare come   un altro tipo, B.

Le conversioni implicite a Scala sono conversioni. Un oggetto viene convertito in un altro oggetto.

Autoboxing è la creazione di un oggetto (di nuovo, una conversione).

Quindi, non si tratta di polimorfismo.

Altri suggerimenti

Io personalmente considerare autoboxing come una specie di hack con risultati a volte inaspettati.

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

La parte difficile di autoboxing è che non è realmente un calco, che (solo) cambia il tipo, ma più di un valore di conversione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top