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

duvida no Template Method

Bom dia no video que explica o Template Method foi implementada a classe abstrata TemplateDeImpostoCondicional, quando eu vou herdar esta classe e implementar seu metodos de acordo com o video o C# reclama e sugere que os metodos tem que ser override, está correto isso?

  public abstract class TemplateDeImpostoCondicional : Imposto
    {
        public double Calcula(Orcamento orcamento)
        {
            if (DeveUsarMaximaTaxacao(orcamento))
            {
                return MaximaTaxacao(orcamento);
            }
            else
            {
                return MinimaTaxacao(orcamento);
            }
        }

        public abstract bool DeveUsarMaximaTaxacao(Orcamento orcamento);
        public abstract double MaximaTaxacao(Orcamento orcamento);
        public abstract double MinimaTaxacao(Orcamento orcamento);
    }
public class IKCV : TemplateDeImpostoCondicional
    {
        public  bool DeveUsarMaximaTaxacao(Orcamento orcamento)
        {
            return orcamento.Valor > 500 && TemItemMaiorQue100ReaisNo(orcamento);
        }
        public  double MaximaTaxacao(Orcamento orcamento)
        {
            return orcamento.Valor * 0.10;
        }
        public  double MinimaTaxacao(Orcamento orcamento)
        {
            return orcamento.Valor * 0.06;
        }
        private bool TemItemMaiorQue100ReaisNo(Orcamento orcamento)
        {
            // retorna verdadeiro caso algum item seja maior que 100 reais
            if ( orcamento.Valor> 100)
            {
                return true;
            }
            return false;
        }
    }
2 respostas

Oi Gilberto, tudo bem?

Esse tópico está duplicado, correto? O Gabriel respondeu aqui: https://www.alura.com.br/course/FN-95/discussions/672440

Estou encerrando esse tópico. Qualquer dúvida ou problema, é só abrir um novo tópico. :)

Abraço.

solução!