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

Método registra(Tributavel t)

Fiquei com dúvida no método

registra(Tributavel T) 

da classe CalculadorDeImposto. No caso, a variável

private double totalImposto;

não está marcada como "static". Sendo assim, como ela é capaz de calcular e incrementar no mesmo atributo a soma dos impostos de duas classes diferentes (no caso, a SeguroDeVida e a ContaCorrente)?

2 respostas
solução!

No caso ele soma por ser a mesma instância do Objeto Calculadora Quando é chamado o método registra é somado o valor tributável no objeto na variável totalImposto. Para te ajudar com a confusão com a atributo "static" seria que quando utilizado ele funciona como um atributo global compartilhado entre os todos objetos instanciados da mesma classe, ou seja, não importa quantos "new" você utilizar para essa classe, esse atributo é único entre todos esses "new" Quando está tratando na mesma instância, esse fator é indiferente porque ele não seria compartilhado dessa forma, sendo assim se voce utilizar um novo "new" ele não é compartilhado Finalizando, ele soma porque os valores são somados no "new" da Calculadora, somente pegando os valores de outras classes através do método get

Ah, certo, muito bem, acho que ficou mais claro agora. É verdade, deu certo porque ele usou a mesma referência, para o mesmo objeto, ambos do tipo CalculadorDeImposto e, assim, conseguiu somar os dois valores. Ok, muito obrigado! :)