Bom pessoal, tenho o seguinte código:
public class teste {
interface Operavel {
double calcular(double x, double y);
}
public class Soma implements Operavel {
public double calcular(double x, double y) {
return x+y;
}
}
public class Subtrai implements Operavel {
public double calcular(double x, double y) {
return x-y;
}
}
/** Creates a new instance of teste */
public void mostraCalculo(Operavel o, double x, double y) {
System.out.println(o.calcular(x,y));
}
public teste() {
mostraCalculo(new Soma(),10,10);
mostraCalculo(new Subtrai(), 10,5);
}
public static void main(String args[]) {
teste t = new teste();
}
}
é um exemplo de polimorfismo, utilizando interface sendo a classe mãe, ai está uma das dúvidas.
Isso também funcionaria, se eu utilizasse:
- Classe abstrata
- Classe normal
Então, o que devo usar, para ser a classe mãe em um caso de polimorfismo?
Outra dúvida: Qual a diferença entre polimorfismo estático e dinâmico?
Um abraço!