
27/07/2009, 20:28
|
| | Fecha de Ingreso: julio-2009
Mensajes: 8
Antigüedad: 15 años, 7 meses Puntos: 0 | |
Respuesta: polimorfismo Pues tienes que hacer uso de 'extends' en las clases hijas que es de la forma que heredas del padre.
Un ejemplo muy pero muy sencillo seria:
La clase padre:
public abstract class Operaciones{
private double num1, num2;
public Operaciones(double num1, double num2){
this.num1 = num1;
this.num2 = num2;
}
public abstract double operar();
public double getNum1(){
return num1;
}
public double getNum2(){
return num2;
}
}
Las clases hijas:
public class Sumar extends Operaciones{
public Sumar(double num1, double num2){
super(num1, num2);
}
//Aqui sobreescribimos el metodo abstracto de la clase padre
//es decir aqui solo decimos como se implementa
public double operar(){
return super.getNum1() + super.getNum2();
}
}
public class Restar extends Operaciones{
double num1, num2;
public Restar(double num1, double num2){
super(num1, num2);
this.num1 = num1;
this.num2 = num2;
}
//Aqui sobreescribimos el metodo abstracto de la clase padre
//es decir aqui solo decimos como se implementa
//si te fijas cada clase lo implementa de diferente forma
public double operar(){
return super.getNum1() - super.getNum2();
}
}
y algo así seria el main:
Operaciones opSuma = new Sumar(2,7); //aqui estas haciendo polimorfismo
Operaciones opResta = new Restar(19,4); //aqui estas haciendo polimorfismo
//La clase operaciones puede tener varias formas
System.out.println("Suma: " + opSuma.operar());
System.out.println("Resta: " + opResta.operar());
Cualquier duda me avisas... |