O Vinícius cita que não é possível instanciar uma classe abstrata, gostaria de entender melhor o por quê disso? Ademais o que me deixou confuso também foi que nesse exercício, onde há o seguinte código:
public function adicionaBonificacaoDe (??? $funcionario)
{
// ...
}
// ...
$gerente = new Gerente(...);
$controladorBonificacoes->adicionaBonificacaoDe($gerente);
As alternativas indicam que pode-se substituir o "???" pela classe abstrata Funcionário. Apesar desse código não instanciar a classe funcionário, ele utiliza um objeto dessa classe, por que isso é possível?