Rogério,
Então... Vamos colocar um código de teste aqui que talvez fique mais fácil de entender essa parte. =)
Como você mesmo comentou, o método faz uso do funcionario.getBonificacao()
. Mas como esse método não é estático, precisamos de uma instancia dele para podermos chamar esse getBonificacao()
. Sua dúvida me parece bem justa aqui. =)
Agora... Vamos supor que queremos executar esse código e cadastrar uma nova bonificação... Faríamos algo assim:
public static void main(String[] args) {
ControleDeBonificacoes controle = new ControleDeBonificacoes();
controle.registra(funcionario);
}
Legal, mas se escrevermos esse código, teremos um erro de compilação, pois o código não saber quem é esse funcionario
que estamos passando. Então precisamos de uma instância de funcionário... Assim:
public static void main(String[] args) {
ControleDeBonificacoes controle = new ControleDeBonificacoes();
Funcionario funcionario = new Funcionario();
controle.registra(funcionario);
Agora, sim! Repare... Criamos o funcionário e passamos para o método. Ele precisa de uma instância de Funcionario
, mas não criamos dentro do método, entendeu? =)
Não se esqueça que precisamos que um funcionário tenha o método getBonificacao
e tudo mais... Aí funciona!!
E aí... Sobrou alguma dúvida? =)
Abraço e bons estudos,
Fábio