private void botaoCalcularTributos_Click(object sender, EventArgs e) { ContaCorrente conta = new ContaCorrente(); conta.Deposita(200.0); MessageBox.Show("imposto da conta corrente = " + conta.CalculaTributos()); ITributavel t = conta; MessageBox.Show("imposto da conta pela interface = " + t.CalculaTributos()); SeguroDeVida sv = new SeguroDeVida(); MessageBox.Show("imposto do seguro = " + sv.CalculaTributos()); t = sv; MessageBox.Show("imposto do seguro pela interface = " + t.CalculaTributos()); }
} // fim botaoNovaConta_Click /// <summary> /// Método executado quando o botão impostos é clicado. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void botaoImpostos_Click(object sender, EventArgs e) { var c1 = new ContaCorrente(); c1.Deposita(100); MessageBox.Show("Imposto da conta corrente = " + c1.CalculaTributos()); ITributavel t = c1; MessageBox.Show("Imposto da conta pela interface = " + t.CalculaTributos()); SeguroDeVida sv = new SeguroDeVida(); MessageBox.Show("Imposto do seguro de vida = " + sv.CalculaTributos()); t = sv; MessageBox.Show("Imposto do segudo de vida pela interface = " + t.CalculaTributos()); TotalizadorDeTributos tdc = new TotalizadorDeTributos(); tdc.Adiciona(c1); MessageBox.Show("Total: " + tdc.Total); tdc.Adiciona(t); MessageBox.Show("Total: " + tdc.Total); } // fim botaoImpostos_Click
} // fim botaoNovaConta_Click /// <summary> /// Método executado quando o botão impostos é clicado. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void botaoImpostos_Click(object sender, EventArgs e) { // Instancia e deposita um valor na conta ContaCorrente c1 = new ContaCorrente(); c1.Deposita(100); // Exibe o calculo dos tributos da conta MessageBox.Show("Imposto da conta corrente = " + c1.CalculaTributos()); // Mostrando que o polimorfismo também funciona com interfaces ITributavel t = c1; // Exibindo o mesmo resultado do imposto que fizemos pela classe. Em ambos os casos, é o mesmo método executado. MessageBox.Show("Imposto da conta pela interface = " + t.CalculaTributos()); // Criando um seguro de vida SeguroDeVida sv = new SeguroDeVida(); // Exibindo o imposto do seguro de vida MessageBox.Show("Imposto do seguro de vida = " + sv.CalculaTributos()); // Polimorfismo de novo... t = sv; // Exibindo o mesmo resultado novamente. MessageBox.Show("Imposto do segudo de vida pela interface = " + t.CalculaTributos()); // Criando uma instância do totalizador para praticar o polimorfismo TotalizadorDeTributos tdc = new TotalizadorDeTributos(); // Adicionando a conta ao cálculo de tributos no totalizador tdc.Adiciona(c1); MessageBox.Show("Total: " + tdc.Total); // Adicionando a conta ao cálculo de tributos no totalizador tdc.Adiciona(t); MessageBox.Show("Total: " + tdc.Total); } // fim botaoImpostos_Click
/// <summary> /// Adiciona o valor de tributo de uma referência tributável ao valor total. /// </summary> /// <param name="t">Referencia para um objeto tributável</param> public void Adiciona(ITributavel t) { this.Total += t.CalculaTributos(); } // fim Adiciona
public void Adiciona(ITributavel tributavel) { this.Total += tributavel.CalculaTributos(); }
/// <summary> /// Adiciona o valor de tributo de uma referência tributável ao valor total. /// </summary> /// <param name="t">Referencia para um objeto tributável</param> public void Adiciona(ITributavel t) { // Adiciona o cálculo do tributo à variável total this.Total += t.CalculaTributos(); } // fim Adiciona
public void Adiciona(ITributavel tributavel) { this.Total += tributavel.CalculaTributos(); }
public void Adiciona(ITributavel t) { TotalTributos += t.CalculaTributos(); }
public void Acumula(ITributavel t) { Total += t.CalculaTributos(); }