Pourquoi est-ce que les types de données primitifs peuvent être upcasted alors que le même ne peut pas être fait avec leurs classes wrapper correspondantes?classes upcasting et wrapper
Répondre
Bien que la syntaxe soit la même, le lancement d'une primitive est quelque chose de très différent de la diffusion d'une référence.
Parce que ni Byte
ni Integer
Hériter de Long
et Float
ne possèdes pas de Double
.
Parce que Long ne s'étend pas à partir de Integer par exemple. Ils peuvent tous être convertis en nombre ...
Les types de données primitifs correspondent à un mode particulier de stockage des données dans la mémoire. Par exemple, un double
et un int
sont stockés très différemment en mémoire, et pour passer d'un double
à un int
implique de changer la stratégie utilisée pour stocker ces données (d'une version qui stocke des informations décimales à une version qui ne le fait pas).
L'upcasting des classes wrapper est une sorte de upcasting différent. Dans ce cas, vous modifiez le type dans lequel la classe wrapper est traitée. Pour continuer l'exemple, les classes wrapper Integer
et Double
sont des sous-classes de Number
, sur lesquelles les deux wrappers peuvent être mis à jour. Cependant, Double
n'est pas une sous-classe de Integer
. Au contraire, ils sont frères et sœurs (c'est-à-dire, tous deux étendent Number
). Ainsi, vous ne pouvez pas passer de Double
à Integer
.
- 1. Upcasting ServiceContract
- 2. Exemples de classes Wrapper ASP.NET XML ObjectDataSource
- 3. Génération classes wrapper interop plaids erreur
- 4. Générateur de code pour les classes wrapper
- 5. Upcasting F # enregistrement créé par la réflexion
- 6. Upcasting avec un paramètre de type générique
- 7. classes ou wrapper pour travailler avec dde in .net?
- 8. Les classes de wrapper Java sont-elles vraiment immuables?
- 9. Classes et sous-classes CSS
- 10. Java wrapper autour log4j logger et java.util.logging
- 11. JsonConvert.DeserializeObject et wrapper "d" dans WCF
- 12. MySQL Wrapper et extraction de lignes
- 13. classe wrapper
- 14. C++ wrapper pour posix et linux fonctions spécifiques
- 15. IOC Container et primitives lors de la création d'un wrapper
- 16. PHP wrapper d'extension pour C++
- 17. Sous-classes et classes abstraites dans DDD
- 18. Problème avec la liste générique et ajout de wrapper
- 19. PHP mysqli wrapper: passage par référence avec __call() et call_user_func_array()
- 20. API Wrapper Architecture Best Practice
- 21. Résolution des classes wrapper en C# avec le conteneur Unité IoC
- 22. C# Ghostscript Wrapper
- 23. FFmpeg php metadata wrapper
- 24. service web wrapper accès
- 25. Classe Wrapper dans Java
- 26. Comment créer un wrapper d'objet session C#?
- 27. Comment wrapper cette valeur?
- 28. GnuPG Wrapper avec C#
- 29. HDF5 wrapper .Net
- 30. Wininet Caching Wrapper
Exactement. J'ajouterais "Ce n'est pas" upcasting ". Il s'élargit. " En supposant que l'interprétation omniprésente de cette question est exacte. –