Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Percebi uma característica do polimorfismo que não havia percebido no vídeo, meu pensamento está correto?

Percebi que não precisa necessariamente passar a referencia como Funcionario, passando a referencia como Gerente, EditorVideo o polimorfismo já da conta de entender que aquela referencia é um Funcionario altomaticamente, correto?

Class main

public class TestaGerente {

    public static void main(String[] args) {

        Gerente gerente = new Gerente();
        gerente.setSalario(2000.0);

        EditorVideo editor = new EditorVideo();
        editor.setSalario(1500.0);

        Funcionario funcionario = new Funcionario();
        funcionario.setSalario(1000.0);

        ControllerBonificacao controller = new ControllerBonificacao();

        System.out.println("O salario total de cada cargo é:");
        controller.getBonificacaoTotal(gerente);
        controller.getBonificacaoTotal(editor);
        controller.getBonificacaoTotal(funcionario);


    }

}

class ControllerBonificacao

public class ControllerBonificacao {

    public void getBonificacaoTotal(Funcionario f) {
        double salarioTotal = f.getSalario() + f.getBonificacao();

        System.out.println("O pagamento total deste funcionario é: " + "salario " + f.getSalario() + " + bonificação: "
                + f.getBonificacao() + " igual à: " + salarioTotal);
    }
}

saida:

O salario total de cada cargo é:
O pagamento total deste funcionario é: salario 2000.0 + bonificação: 2200.0 igual à: 4200.0
O pagamento total deste funcionario é: salario 1500.0 + bonificação: 1600.0 igual à: 3100.0
O pagamento total deste funcionario é: salario 1000.0 + bonificação: 100.0 igual à: 1100.0
1 resposta
solução!

Olá Epitacio!

É exatamente isso (mas acredito que se encaixe mais em herança). Um jeito simples de ver isso acontecendo é declarar uma variável com um tipo base e fazer ela apontar para uma instância de uma classe filha desse tipo. Ex:

Funcionario funcionario = new Diretor();

E essa possibilidade de passar classes filhas como argumento de entrada (quando se pede classes mães) é ainda mais explorado com o uso de interfaces (que é uma mão na roda). Você verá como isso facilitará sua vida!

Bons estudos!