Question

envisageriez-vous autoboxing en Java comme une forme de polymorphisme? Autrement dit, pensez-vous autoboxing étend les capacités polymorphes de Java?

Qu'en est-il des conversions implicites dans Scala?

Mon opinion est que ce sont les deux exemples de polymorphisme. Ces deux caractéristiques permettent des valeurs de différents types de données à traiter d'une manière uniforme.

Mon collègue est en désaccord avec moi. Qui a raison?

Était-ce utile?

La solution

De Wikipedia :

  

polymorphisme Sous-type, presque   universellement appelé juste polymorphisme   dans le contexte de orienté objet   la programmation, est la capacité d'un   type A, d'apparaître au fur et à utiliser comme   un autre type, B.

Les conversions implicites dans Scala sont des conversions. Un objet est converti en un autre objet.

Autoboxing est la création d'un objet (encore une fois, une conversion).

Par conséquent, ce ne sont pas polymorphisme.

Autres conseils

Je considère personnellement autoboxing comme une sorte de bidouille avec des résultats parfois inattendus.

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

La partie la plus délicate de autoboxing est qu'il est pas vraiment un casting qui (uniquement) change le type, mais plus d'une conversion de valeur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top