static void Main(string[] args) { Conta acc = new Conta(1001, "Aluno1", 0.0); ContaJuridica bacc = new ContaJuridica(1002, "Aluno2", 0.0, 500.0); // Conta para Conta Juridica Conta acc1 = bacc; Conta acc2 = new ContaJuridica(1003, "Aluno3", 0.0, 200.00); // Conta para Conta Poupança Conta acc3 = new ContaPoupança(1004, "Aluno4", 0.0, 0.01); ContaJuridica acc4 = (ContaJuridica)acc2; // Downcasting acc4.Emprestimo(100.0); if (acc3 is ContaJuridica) // Verficar se a nova conta criada é uma Juridica ou Poupança { ContaJuridica acc5 = (ContaJuridica)acc3; acc5.Emprestimo(200.0); Console.WriteLine("Empréstimo"); } if (acc3 is ContaPoupança) { ContaPoupança acc5 = (ContaPoupança)acc3; acc5.atualizacaoSaldo(); Console.WriteLine("Atualizado"); } Console.ReadKey(); }
static void Main(string[] args) { Conta acc = new Conta(1001, "Goku", 0.0); ContaJuridica bacc = new ContaJuridica(1002, "Goten", 0.0, 500.0); //UPCASTING Conta acc1 = bacc; Conta acc2 = new ContaJuridica(1003, "Trunks", 0.0, 200.00); Conta acc3 = new ContaPoupanca(1004, "Vegeta", 0.0, 0.01); // DOWNCASTING ContaJuridica acc4 = (ContaJuridica)acc2; acc4.Emprestimo(100.0); if (acc3 is ContaJuridica) { //ContaPoupanca acc5 = (ContaPoupanca)acc3 ContaJuridica acc5 = (ContaJuridica)acc3; acc5.Emprestimo(200.0); WriteLine("Emprestimo!"); } if (acc3 is ContaPoupanca) { //ContaPoupanca acc5 = (ContaPoupanca)acc3 ContaPoupanca acc5 = acc3 as ContaPoupanca; acc5.atualizacaoSaldo(); WriteLine("Atualizado!"); } ReadKey(); }