No fim do vídeo 2 é removida a herança e a função rende() da classe ContaEstudante, isso não gera um erro ao chamar a função processa()? Porque assim não teremos a função rende() para chamar quando for uma instancia de ContaEstudante.
Aula 5 - SOLID
No fim do vídeo 2 é removida a herança e a função rende() da classe ContaEstudante, isso não gera um erro ao chamar a função processa()? Porque assim não teremos a função rende() para chamar quando for uma instancia de ContaEstudante.
Aula 5 - SOLID
Oi Leonardo, vc tem razão. Aquela lógica ali não faz mais muito sentido, já que o rende deixou de ser comum. Naquele ponto, a estratégia deve ser restringir o tipo do parâmetro para um array de ContaComum, já que é a única que rende no banco.
O que eu fiz foi colocar um method_exist se é gambiarra eu não sei... Assim caso não exista um método rende() ele não faz nada.
public function processa()
{
$contas = $this->contasDoBanco();
foreach($contas as $conta) {
if(method_exists($conta,'rende'))
$conta->rende();
}
}