Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            //criação de objetos da superclasse e subclasse
            Conta         acc  = new Conta(1001, "Ashe", 0);
            ContaJuridica bacc = new ContaJuridica(1002, "Red", 0, 500);

            //Criando objeto conta que ira herdar as informações do objeto bacc, que é uma ContaJuridica
            Conta acc1 = bacc;

            //Criando objeto conta que ira herdar os parâmetros da subclasse ContaJuridica que são colocados
            Conta acc2 = new ContaJuridica(1003, "Pikachu", 0, 200);

            //Criando objeto conta que ira herdar os parâmetros da subclasse ContaJuridica que são colocados
            Conta acc3 = new ContaPoupanca(1004, "Jolteon", 0, 0.01);

            //downcasting, Criando os objetos das subclasses que herdam os parâmetros da superclasse
            ContaJuridica acc4 = (ContaJuridica)acc2;

            acc4.Emprestimo(100);

            if (acc3 is ContaJuridica)
            {
                ContaJuridica acc5 = (ContaJuridica)acc3;
                acc5.Emprestimo(200);
                Console.WriteLine("Emprestimo!");
            }

            if (acc3 is ContaPoupanca)
            {
                //ContaPoupanca acc5 = (ContaPoupanca)acc3;
                ContaPoupanca acc5 = acc3 as ContaPoupanca;
                acc5.AtualizacaoSaldo();
                Console.WriteLine("Atualizado!");
            }
        }