Olá, fiquei com uma dúvida a respeito da soma que é aacumulação das 3 bonificações: de Gerente, Funcionario e Editor de Video, que deveriam ser respectivamente, 5250.0, 100.0 e 225. Assim, a soma deveria ser 5575 e não 5475. Ou não? Obrigado
Olá, fiquei com uma dúvida a respeito da soma que é aacumulação das 3 bonificações: de Gerente, Funcionario e Editor de Video, que deveriam ser respectivamente, 5250.0, 100.0 e 225. Assim, a soma deveria ser 5575 e não 5475. Ou não? Obrigado
Oi Alexandre, só com os valores complica um pouco para a gente dar uma opinião. Consegue colocar seu código aqui?
sugestão de alteração para a classe testa referencias... na classe ControleBonificacao crie o metodo para limpar a soma
public void limpaSoma() {
this.soma = 0;
pelo que entendi a cada registro de bonificação, a classe ControleBonificação estava somando a bonificação anterior... assim o ultimo registro que seria do editor de video tinha a soma da bonificação do gerente...
inclua esse metodo de limpar antes de chamar o registra gerente ou editor de video
public static void main(String[] args) {
ControleBonificacao controle = new ControleBonificacao();
Funcionario f = new Funcionario();
f.setSalario(2000.0);
controle.registra(f); //funcionario recebe 5% do salario
System.out.println("Salario funcionario: R$" +f.getSalario());
System.out.println("Bonificação funcionario: R$" +controle.getSoma());
Gerente g1 = new Gerente();
g1.setNome("Marcos");
g1.setSalario(5000.0);
controle.limpaSoma();//gerente recebe 5% de bonif por ser funcionario + o valor do salario dele
controle.registra(g1);
System.out.println("Salario gerente: R$" +g1.getSalario());
System.out.println("Bonificação gerente: R$" +controle.getSoma());
EditorVideo ev = new EditorVideo();
ev.setSalario(2500.0);
controle.limpaSoma();//editor video recebe 5% de bonif por ser funcionario +100
controle.registra(ev);
System.out.println("Salario editor video: R$" +ev.getSalario());
System.out.println("bonificação editor video: R$" +controle.getSoma());
Oi Alexandre,
vc tem razao, há uma diferença na bonificação, e o valor correta seria: R$ 5575,00
No entanto, o problema é outro. No video, por volta das 8min, eu estou criando um objeto do tipo EditorVideo
, mas não estou inicializando o salario dele, pois uso ainda a referencia do Funcionario
:
EditorVideo ev = new EditorVideo();
f.setSalario(2500.0); //aqui está errado, pois uso f
Tudo bem? Vou ver se podemos corrigir isso na edição.
Obrigado por relatar.
Abs, Nico
Oi Alexandre,
Caso a resposta do Nico não tenha sido clara, vou tentar explicar um pouco melhor.
Provavelmente você estava seguindo os passos que o professor estava passando no vídeo, porém, no vídeo "Aplicando Polimorfismo" no exato momento 7:30m, o professor cria um instancia da classe EditorVideo na variável "ev", porém, na hora de setar o salário, ele errou e setou na variável "f". Por isso a soma total não bate corretamente.