Queridas e queridos,
Gostaria de saber se a vantagem da utilização dos métodos abstratos seria por conta da obrigatoriedade da declaração destes métodos herdados nas classes filhas?
O sentido da minha pergunta é porque a partir do caso proposto na aula 5.3 - Métodos Abstratos, é possível chegar numa mesma via utilizando o @Override.
Seguem exemplos:
Exemplo da Aula - Classe Mãe
public abstract class Funcionario {
private String nome;
private String cpf;
private double salario;
public abstract double getBonificacao();
public String getNome() {
return nome;
}
Classe Filha
public class Designer extends Funcionario {
public double getBonificacao() {
System.out.println("Chamando o método de bonificacao do Designer");
return 200;
}
}
Utilizando @Override - Classe Mãe
public abstract class Funcionario {
private String nome;
private String cpf;
private double salario;
public double getBonification(){
return this.salario * 0.1;
}
}
Classe Filha
public class Designer extends Funcionario {
public Designer(String nome, String cpf) {
super(nome, cpf);
}
@Override
public double getBonification() {
return 200;
}
}
Desde já agradeço a atenção e paciência de instrutores(as) e da comunidade!
Abração!