12/11/2013, 14:00
|
| Colaborador | | Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes Puntos: 454 | |
Respuesta: duda asignacion objeto variable java Hola:
En java hay que declarar las variables, decir de qué tipo son. Así que tienes forzosamente que poner al menos algo como
Profesor profesor73;
A partir de ahí, puedes asignar la variable y hacer lo que quieras sin necesidad de decir su tipo (volver a declararla). Podrías, por ejemplo
profesor73 = new ProfesorInterino();
o
profesor73 = interno1;
Si en el momento de declarar la variable ya sabes qué le vas a asignar, es habitual asignarle el valor en la misma declaración, por eso muchas veces se usan cosas como
Profesor profesor73 = interino1;
o
Profesor profesor73 = new ProfesorInterino();
En java hay herencia, hay clases hijas que heredan de sus clases padre. Siempre puedes asignar clases hija a variables del tipo de la clase padre, así
Padre padre = hija;
Padre padre = new Hija();
el "problema" con esto, es que aunque el objeto que tienes en memoria es en realidad es de tipo Hija, sólo puedes acceder a aquellas cosas que se han declarado en el tipo de variable Padre. Esto es correcto
padre.metodoDelcaradoEnPadre();
pero esto no
padre.metodoDeclaradoEnHija();
Cuando tienes una clase Hija guardada dentro de una variable de tipo Padre, puedes obtener el objeto original (Hija), haciendo un "cast", que basicamente es poner entre parentesis el tipo real dealente de la variable
Hija hija = (Hija)padre;
De esta forma, ya sí podrías llamar a los métodos de Hija. No es necesario hacer la asignación a una variable, puedes hacerlo todo de golpe, así
((Hija)padre).metodoDeHija();
Se bueno. |