Olá galera,
Durante a aula eu gosto de ir acompanhando e programando ao mesmo tempo para entender melhor, e fazer uns certos "aprimoramentos" no código. Na ultima aula de polimorfismo eu tive um certo problema na consulta de bonificação. Segue abaixo o código e o resultado dele:
public class TesteReferencias {
    public static void main(String[] args) {
        Gerente g1 = new Gerente();
        g1.setNome("Roger");
        g1.setSalario(5000);
        Funcionario f1 = new Funcionario();
        f1.setSalario(2000);
        ControleBonificacao controle = new ControleBonificacao();
        controle.registra(g1);
        controle.registra(f1);
        System.out.println(controle.getSoma());
    }
}E o resultado:
Exibindo bonificação GERENTE: 
Exibindo bonificação FUNCIONARIO: 
Exibindo bonificação FUNCIONARIO: 
5350.0Percebi que isso foi devido a eu ter usado um método para consulta de bonificação da classe Funcionario ao invés de ter aplicado a o salário + 5% do salário, a fim de não ser necessário alterar mais de uma classe.
public class Gerente extends Funcionario {
    private int senha;
    public double getBonificacao() {
        System.out.println("Exibindo bonificação GERENTE: ");
        return super.getSalario() + (super.getBonificacao() /*+ (super.getSalario()*0.05*/);
    }O ponto é, minha linha de pensamento está correta? Existe algo como contornar essa falha seguindo essa minha linha de pensamento?
Obrigado aos que se dispuserem a ajudar. :D