Foros del Web » Programación para mayores de 30 ;) » Java »

Enlace dinamico y estatico

Estas en el tema de Enlace dinamico y estatico en el foro de Java en Foros del Web. Hola a todos, en mi clase de POO estamos viendo herencia polimorfismo y esas cosas pero no entiendo muy bien la parte del enlace dinamico ...
  #1 (permalink)  
Antiguo 04/10/2011, 10:01
 
Fecha de Ingreso: marzo-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Pregunta Enlace dinamico y estatico

Hola a todos, en mi clase de POO estamos viendo herencia polimorfismo y esas cosas pero no entiendo muy bien la parte del enlace dinamico y estatico alguien me podria explicar por favor??? Gracias y buen dia.

Saluditos :)
  #2 (permalink)  
Antiguo 04/10/2011, 10:24
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Enlace dinamico y estatico

se refiere a que en los enlaces dinámicos un método común se puede definir para la clase padre, pero para las clases hijas ese método puede tener ciertas particularidades, por eso se resuelve en tiempo de ejecución, porque hasta que no se ejecuta no sabe cual de las clases hijas le llega para ejecutar el método concreto...

En el enlace estático el método es fijo, por ejemplo un método propio que solo tiene una de las clases hijas, por eso se resuelve en tiempo de compilación, por que va a ser inmutable.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 04/10/2011, 23:15
 
Fecha de Ingreso: marzo-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: Enlace dinamico y estatico

Ooo muchas gracias x tu respuesta ya entendi. Otra duda el upcasting y downcasting, segun yo entiendo es "igualar" o asignar objetos entre clases padres e hijas pero no se cual es cual. El upcasting es "igualar" una clase hijo a una clase padre y el downcasting es asignar a una clase padre un objeto de clase hijo?? gracias de nuevo.

Saluditos :)
  #4 (permalink)  
Antiguo 05/10/2011, 01:45
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 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;
}

Etiquetas: dinamico, enlace, estatico, poo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:56.