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

[Dúvida] Condigo quebrou

Se apagar o metodo: public function bonificacaoSalario(): float { return $this->recuperaSalario() * 0.1; }

quebra no meu controlador que chama esse metodo: public function adicionaBonificacaoDe(Funcionario $funcionario) { $this->totalBonificacoes +=$funcionario->bonificacaoSalario; }

O codigo do instrutor compila, mas o meu n funcionar

2 respostas
solução!

Oi, Julho! Tudo bem?

De acordo com o trecho de código enviado, provavelmente o problema ocorre pois a propriedade bonificacaoSalario do objeto $funcionario está tentando ser acessada sem o uso dos parênteses, o que a define como uma função/método, ou seja, não estamos invocando o método

Dessa forma, para contornarmos esse erro basta adicionarmos os parênteses ao final de bonificacaoSalario para conseguirmos chamar o método no controlador, deixando o trecho de código da seguinte maneira:

public function adicionaBonificacaoDe(Funcionario $funcionario) {
    $this->totalBonificacoes += $funcionario->bonificacaoSalario();
}

Dessa forma, estaremos chamando corretamente o método bonificacaoSalario() e atribuindo o seu resultado à propriedade $totalBonificacoes.

Espero ter ajudado. Caso tenha alguma dúvida, sinta-se à vontade para comunicar, estou à disposição.

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓

Muito obrigado Sarah, funcionou perfeitamente!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software