Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Dúvida no Ex. 5 da Aula 2 - A grande variedade de impostos e o padrão strategy

Poderia sim Fabricio, a idéia desse padrão é usar o polimorfismo para permitir "injetar" a lógica que será executada. O que dá para fazer com classes abstratas também.

2 respostas
solução

Entendi. Obrigado!

Nesse caso poderia usar uma classe abstrata ao invés de uma interface para implementar o método que calcula a chance que o investimento tem? Exemplo:

abstract class Investimento{

    abstract protected function investir(ContaBancaria $conta);

    public function chance(){
        return  mt_rand(1,100);
    }

}