Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/10/2011, 01:45
Avatar de Fuzzylog
Fuzzylog
 
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Enlace dinamico y estatico

Mejor te pongo un ejemplo: Supongamos clase padre Animal y clase hija Gato.
Animal bicho = new Gato();
Referencia superclase (clase padre) - Objeto de la clase hija
Si quieres realizar un downcasting aprovechando la referencia animal anterior se puede hacer:
Gato bichito = (Gato) bicho;
Que sería el downcasting, pero un downcasting manual ya que java no permite el downcasting automático como sería el primer caso, y daría una ClassCastException al compilar.

Creo que el tema del downcasting es por el acceso a los métodos propios de las subclases.

Si el gato tiene un método maullar() y el animal uno genérico hablar(), que segun el tipo de animal llama al otro método. Si tu dices bicho.maullar(); no lo reconocería, y si dices bicho.hablar(); te lanzaría maullar();

Si haces downcasting se te permitiría llamar a bichito.maullar();
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}