miércoles, 16 de mayo de 2012

Polimorfismo

Profesional en Formación: Ricargo Galarza

Polimorfismo

El polimorfismo es un concepto de la programación orientada a objetos que nos permite programar en forma general, en lugar de hacerlo en forma específica. En general nos sirve para programar objetos con características comunes y que todos estos compartan la misma superclase en una jerarquía de clases, como si todas fueran objetos de la superclase. Esto nos simplifica la programación.

También se refiere a la posiblididad de acceder a un variado rango de funciones distintas a través del mismo interfaz. O sea, un mismo identificador puede tener distintas formas dependiendo del contexto en el que se halle. El polimorfismo se puede establecer mediante sobrecarga, sobre escritura y enlace dinámico

Sobreescritura:
Cada vez que se tiene una clase que hereda un método de una superclase, se tiene la oportunidad de sobrescribir el método. El beneficio clave al sobrescribir un método heredado es la habilidad de definir un comportamiento específico para los objetos de la subclase ejemplo:

class Animal {

public void comer(){
System.out.println("Animal comiendo...");
}
}

class Caballo extends Animal{
public void comer(){
System.out.println("Caballo comiendo...");
}
public void relinchar(){
System.out.println("Caballo relinchando...");
}
}

class ProbarMetodos{

public static void main(String... args){
Animal a = new Caballo();
Caballo c = new Caballo();
a.comer();
c.comer();
a.relinchar();
 //error!
}
}

Aún cuando la clase Caballo define un método llamado relinchar(), la clase Animal no sabe que dicho método existe, por lo tanto, el compilador arrojará un error cuando se intente invocar al método relinchar() desde una referencia Animal, no importa que el objeto Caballosí lo tenga.

Bibliografia: