Cita:
Iniciado por Virtualforos
suponiendo que ClaseDerivada deriva de MiClase, no entiendo lo que sucede aquí:
MiClase obj = new ClaseDerivada();
obj es de tipo MiClase o de tipo ClaseDerivada? menos entiendo las implicancias de esta forma de definir objetos.
Para aclarar: Lo que significa esa línea de código es que la variable obj va a ser tratada por el compilador como una variable de tipo MiClase, pero sin embargo la referencia apunta a una instancia de la ClaseDerivada.
O sea, que si MiClase declara un método MiMetodo(), lo vas a poder invocar con la referencia obj, pero los métodos que esté declarados en ClaseDerivada no los vas a poder invocar, porque el compilador no tiene información de que obj sea una instancia de la clase ClaseDerivada.