Frage

Können Sie sich vorstellen in Java Autoboxing eine Form von Polymorphismus zu sein? Anders gesagt, glauben Sie, dass Autoboxing die polymorphen Funktionen von Java erweitert?

Was ist implizite Konvertierungen in Scala?

Meine Meinung ist, dass sie beiden Beispiele für Polymorphismus sind. Beiden Funktionen ermöglichen Werte verschiedenen Datentypen in einer einheitlichen Art und Weise behandelt werden.

Mein Kollege nicht einverstanden mit mir. Wer hat Recht?

War es hilfreich?

Lösung

Wikipedia :

Subtyp-Polymorphie, fast universell nur Polymorphismus genannt im Rahmen der objektorientierten Programmierung wird die Fähigkeit eines Typ A, zu erscheinen, wie und verwendet werden, wie eine andere Art, B.

Implizite Konvertierungen in Scala sind Konvertierungen. Ein Objekt wird auf ein anderes Objekt umgewandelt wird.

Autoboxing ist die Schaffung eines Objekts (wiederum eine Umwandlung).

Daher sind diese nicht Polymorphismus.

Andere Tipps

ich mit manchmal zu unerwarteten Ergebnissen Autoboxing als eine Art Hack persönlich betrachten.

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

Der schwierige Teil des Autoboxing ist, dass es nicht wirklich eine Besetzung ist, die (nur) die Art verändert, sondern eher eine Wertumwandlung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top