Respuesta a: Problema con una interfaz-Video 50

#5409

Anónimo
Inactivo

Acabo de comprobar con Eclipse y efectivamente funciona haciendo un cast, pero me surge una duda. Por qué cuando recorres un array con un bucle for-each hace enlazado dinámico y aplica los métodos de la superclase a los objetos de la superclase y los objetos de la subclase a los métodos de la subclase, pero si accedes a un elemento individual de la subclase almacenado en un array de la superclase, no puedes aplicar métodos de la subclase sin hacer un casting?

Jefatura extends empleado y siendo tomar_decisiones() un método de Jefatura

Empleado[] misEmpleados = new Empleado[2];

misEmpleados[0]=new Empleado(….);

misEmpleados[1]=new Jefatura(…);

 

//HACE ENLAZADO DINÁMICO

 

for (Empleados e: misEmpleados){

e.subesueldo(5); }

// DA ERROR; POR QUÉ NO HACE ESTE “ENLAZADO DINÁMICO”?

misEmpleados[1].tomar_decisiones(…);