Downcasting significa transmitir desde una clase base (o interfaz) a una subclase o clase hoja.
Un ejemplo de abatido podría ser si realiza un envío desde System.Object
otro tipo.
Downcasting es impopular, tal vez un olor a código: la doctrina orientada a objetos es preferible, por ejemplo, definir y llamar a métodos virtuales o abstractos en lugar de downcasting.
- ¿Cuáles son, si los hay, casos de uso adecuados y adecuados para la conversión? Es decir, ¿en qué circunstancia (s) es apropiado escribir código que no sea válido?
- Si su respuesta es "ninguna", entonces ¿por qué el idioma admite el downcasting?
ToString
); su otro ejemplo es "contenedores Java" porque Java no admite genéricos (que C # sí). stackoverflow.com/questions/1524197/downcast-and-upcast dice qué es downcasting , pero sin ejemplos de cuándo es apropiado .
before Java had support for generics
, no because Java doesn't support generics
. Y amon prácticamente te dio la respuesta: cuando el sistema de tipos con el que estás trabajando es demasiado restrictivo y no estás en condiciones de cambiarlo.