Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Utilizando a variável soma como static...

Só um comentário... ao utilizar o método "registra" na classe "ControleBonificacao", achei melhor guardar os valores das bonificações numa variável static, ou seja, o atributo "soma" pertence a própria classe e não a instância da classe. Isso seria bom para futuros registros, na hipótese de ter que criar novos objetos para registro de novos funcionários não acham? Segue a minha classe "ControleBonificacao"

public class ControleBonificacao {
    private  static double soma;


    public void registra (Funcionario funcionario){
      soma = soma + funcionario.getBonificacao();
    }

    public static double getSoma() {
        return soma;
    }
}
3 respostas
solução!

Bem pensado, Bruno!

Desta forma a variável soma irá conter a soma das bonificações de todos os funcionários registrados.

Continue assim! Bons estudos.

Pode ser que sim, mas ai todos os valores seriam somados, independente do tipo do funcionário?

Olá pessoal, tudo bem?

Outro detalhe importante a considerar é, ao tornar a propriedade soma static, este deixa de ser atributo da instancia e passa a ser da classe. Portanto, qualquer método que queira acessar um atributo static, necessariamente precisam também ser static. Atributos e métodos static só podem acessar atributos e métodos static.

Para que a classe compile normalmente, precisamos declarar o método registra() como static (public static void registra()), pois o método não possui a referência this. Como consequência, todos poderão invocar tal método através da chamada, ControleBonificacao.registra().

Uma outra observação esta na forma com o atributo soma é acessado. Acessos ao atributo static devem utilizar a classe, ou seja: ControleBonificacao. soma

Bons estudos!!