Ver Mensaje Individual
  #10 (permalink)  
Antiguo 17/04/2014, 04:07
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: cual es la diferencia entre sobre escritura de métodos y polimorfismo

Hola:

sobrecarga: en una misma clase, métodos con el mismo nombre y diferentes parámetros. No tiene nada que ver con pòlimorfismo ni sobreescritura.

sobreescribir: clase hija con exactamente el mismo método que su clase padre, aunque con código distinto.

polimorfismo. Usar la sobreescritura llamando a un método en una variable de tipo padre que realmente llama al metodo de la clase hija.

Código Java:
Ver original
  1. // clase padre con metodo()
  2. public class Padre {
  3.    public void metodo() {
  4.        System.out.println("Soy Padre");
  5.    }
  6. }
  7.  
  8. // Clase hija que sobreescribe metodo()
  9. public class Hija extends Padre {
  10.    @Override
  11.    public void metodo() {
  12.        System.out.println("Soy Hija");
  13.    }
  14. }
  15.  
  16. ...
  17.  
  18. // en algún sitio.
  19. // metodo() esta sobreescrito, pero no estamos usando polimorfismo en absoluto
  20. Hija hija = new Hija();
  21. hija.metodo();
  22.  
  23. // en otro sitio
  24. // Aquí sí usamos polimorfismo, puesto que la variable es de tipo Padre y guarda una instancia de Hija
  25. Padre padre = new Hija();
  26. padre.metodo(); // Se llama al metodo de Hija.

Se bueno.
__________________
Apuntes Java
Wiki de Programación