コード例 #1
0
        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());
        }
コード例 #2
0
        } // 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
コード例 #3
0
ファイル: Form1.cs プロジェクト: arthur-ferreira-caelum/fn13
        } // 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
コード例 #4
0
 /// <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
コード例 #5
0
 public void Adiciona(ITributavel tributavel)
 {
     this.Total += tributavel.CalculaTributos();
 }
コード例 #6
0
 /// <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
コード例 #7
0
 public void Adiciona(ITributavel tributavel)
 {
     this.Total += tributavel.CalculaTributos();
 }
コード例 #8
0
 public void Adiciona(ITributavel t)
 {
     TotalTributos += t.CalculaTributos();
 }
コード例 #9
0
 public void Acumula(ITributavel t)
 {
     Total += t.CalculaTributos();
 }