1
resposta

Se for necessário tirar um imposto?

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!

1 resposta

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.