InstruçÔes

Passo 23

Agora vocĂȘ precisa de uma maneira de gerenciar mĂșltiplas estratĂ©gias de desconto e buscar o melhor preço. Crie uma classe chamada DiscountEngine. Esta classe gerenciarĂĄ todas as estratĂ©gias de desconto e calcularĂĄ o melhor preço para um produto. DĂȘ a ele um mĂ©todo __init__ que receba self e strategies como parĂąmetros, onde strategies tem uma dica de tipo de list[DiscountStrategy]. Usar list[DiscountStrategy] especifica que o parĂąmetro Ă© uma lista contendo objetos DiscountStrategy. O tipo de retorno do mĂ©todo deve ser None. Dentro do mĂ©todo __init__, armazene strategies como um atributo de instĂąncia.

O que fazer:

Testes:

  • VocĂȘ deve criar uma classe chamada `DiscountEngine`.
  • Sua classe `DiscountEngine` deve ter um mĂ©todo `__init__`.
  • Seu mĂ©todo `__init__` deve ter os parĂąmetros `self` e `strategies: list[DiscountStrategy]`.
  • Seu mĂ©todo `__init__` deve ter um tipo de retorno `None`.
  • VocĂȘ deve atribuir `strategies` a `self.strategies` dentro do seu mĂ©todo `__init__`.

Preview