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

Saída diferente da aula

Durante as aulas fui escrevendo o códido junto com o instrutor, mas minha saída para a bonificação do Designer é Chamando bonificação DESIGNER -> 5875.0, mas no vídeo aparece 5675.0. Não consigo encontrar o erro no meu código.

` //FUNCIONÁRIO public class Funcionario {

private String nome;
private String cpf;
public double salario;



public Funcionario() {

}//fim Construtor

public double getBonificacao() {
    return this.salario * 0.05;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getCpf() {
    return cpf;
}

public void setCpf(String cpf) {
    this.cpf = cpf;
}

public double getSalario() {
    return salario;
}

public void setSalario(double salario) {
    this.salario = salario;
}

}//fim Funcionario

//TESTE REFERÊNCIAS public class TesteReferencias {

public static void main(String[] args) {

    Gerente g1 = new Gerente();
    g1.setNome("Marcos");
    g1.setSalario(5000.00);

    Funcionario f = new Funcionario();
    f.setSalario(2000.00);

    EditorVideo ev = new EditorVideo();
    ev.setSalario(2500.00);

    Designer d = new Designer();
    d.setSalario(2000.00);

    ControleBonificacao controle = new ControleBonificacao();
    controle.registra(g1);
    controle.registra(f);
    controle.registra(ev);
    controle.registra(d);



    System.out.println(controle.getSoma());


}//fim main

}//fim TesteReferencias

//DESIGNER public class Designer extends Funcionario{

public double getBonificacao() {
    System.out.println("Chamando bonificação DESIGNER");
    return super.getBonificacao() + 200;

}//fim getBonificacao

}//fim Designer `

1 resposta
solução!

Oie Ana, tudo bem contigo?

O erro está dentro da classe "Designer", no vídeo após ele copiar a classe "EditorVideo" para criar a "Designer" (minuto 5:43), ele altera o método "getBonificacao" retirando a parte "super.getBonificacao" e deixando apenas o 200 (minuto 6:00). Fazendo a correção o código ficaria assim:

public class Designer extends Funcionario{
        public double getBonificacao() {
                System.out.println("Chamando bonificação DESIGNER");
                return 200;
        }
}

Mas mesmo arrumando acredito que o resultado ainda não vai dar igual ao do instrutor já que no vídeo "Aplicando Polimorfismo", no minuto 8:18, é colocado uma marcação informando que o resultado que apareceu no terminal do eclipse está errado e o certo tem 100 a mais, sendo 5575 e não 5475, e acredito que esse erro de 100 a mais continua nos vídeos seguintes, por isso mesmo fazendo a correção que indiquei acima o resultado ainda vai estar maior que o do instrutor, sendo 5775 o correto e não 5675.

De qualquer forma, o importante é você aprender como o programa está funcionando e como usar o polimorfismo e herança nos seus futuros programas, por isso não se preocupe tanto com o valor que aparecer como resultado.

Espero ter conseguido ter ajudar, qualquer outra dúvida fico a disposição :)

Bons estudos!