Caso seja necessário tirar um ou mais impostos? Como que ficaria? Teria que mexer no código e suprimir a classe do imposto a ser removido. Daí não teria que "mexer" no código todo? Obrigado!
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Caso seja necessário tirar um ou mais impostos? Como que ficaria? Teria que mexer no código e suprimir a classe do imposto a ser removido. Daí não teria que "mexer" no código todo? Obrigado!
Então Marcelo,
Você não precisaria mexer na classe do imposto específico. Bastaria você retirar o imposto que é passado para não ser mais passado no local onde todos os produtos serão calculados. Mexeria somente em um ponto do código... é isso?
Imposto iss = new ISS(new ICMS());
Imposto iss2 = new ISS();
Imposto iss3 = new ISS(new ICMS(new IKCV()));
Imposto ima = new IMA(new IHIT());
Orcamento orcamento = new(500);
orcamento.AdicionaItem(new Item("CANETA", 250));
orcamento.AdicionaItem(new Item("LAPIS", 150));
double valor = iss.Calcula(orcamento);
double valor2 = iss2.Calcula(orcamento);
double valor3 = iss3.Calcula(orcamento);
double valorIMA = ima.Calcula(orcamento);
Console.WriteLine(valor);
Console.WriteLine(valor2);
Console.WriteLine(valor3);
Console.WriteLine(valorIMA);[]'s,
Fabio I.