Esto se considera upcasting correcto?¿Cuándo y por qué elevaría un objeto?
Derived d = new Derived();
Base b = d; // Always OK.
¿Por qué alguien upcast? ¿Cuando? ¿Es porque debemos convertir el objeto en la clase base para que no tenga la funcionalidad de la clase derivada?
¿Cómo se ve este código en la memoria? Las instancias de clases derivadas y la memoria se crean para ese objeto. A continuación, se crea un objeto de clase base que hace referencia a d
ahora.
Son útiles, porque a veces no te importa lo que eres objeto 'Derived', solo necesitas métodos genéricos en' Base', por ejemplo para objetos DB, donde necesitas guardar, que es lo mismo para todos los objetos DB, independientemente de otros detalles – PostMan