コード例 #1
0
        static void Main(string[] args)
        {
            Conta conta1 = new Conta(768, "José", 600.0);
            Conta conta2 = new ContaPoupanca(784, "Maria", 600.0, 0.01);

            conta1.Saque(20.0);
            conta2.Saque(20.0);

            Console.WriteLine(conta1.Saldo);
            Console.WriteLine(conta2.Saldo);
        }
コード例 #2
0
        static void Main(string[] args)
        {
            Conta conta1 = new Conta(1001, "Pedro", 500.0);
            Conta conta2 = new ContaPoupanca(1002, "Vera Lúcia", 500.0, 0.0);

            conta1.Saque(10.0);
            conta2.Saque(10.0);
            //Como não há sobreposição, ou seja, uso das palavras virtual e override será aplicado no saque o mesmo desconto  de 5.0
            //tanto na conta, bem como na poupança
            Console.WriteLine(conta1.Saldo);
            Console.WriteLine(conta2.Saldo);
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: Gerberson/Projeto_SOLID
        static void Main(string[] args)
        {
            Console.WriteLine("USANDO A CLASSE CONTACOMUM");
            Conta conta = new ContaComum();

            conta.Saldo = 100;
            conta.Saque(250);
            Console.WriteLine($"Saldo de conta : {conta.Saldo}");
            Console.WriteLine();

            Console.WriteLine("USANDO A CLASSE CONTAPOUPANÇA");
            Conta conta1 = new ContaPoupanca();

            conta1.Saldo = 100;
            conta1.Saque(250);
            Console.WriteLine($"Saldo de conta : {conta1.Saldo}");
        }
コード例 #4
0
        static void Main(string[] args)
        {
            Conta acc = new Conta(1001, "Alex", 0.0);
            ContaPessoaJuridica pj = new ContaPessoaJuridica(1002, "CB", 0.0, 1000);

            acc.Deposito(1000);
            //upcasting - conversao da superClasse;
            Conta         acc1 = pj;
            ContaPoupanca cpj  = new ContaPoupanca(1003, "Alex", 0.0, 1.50);

            pj.Deposito(1000);
            cpj.Deposito(1000);
            cpj.AtualizaSaldo();
            cpj.Saque(1102);
            Console.WriteLine(pj);
            Console.WriteLine(cpj);
            Console.ReadKey();
        }
コード例 #5
0
        static void Main(string[] args)
        {
            Conta        conta            = new Conta(4116, "Marcelo Souza", 0.0);
            ContaEmpresa contaEmpresarial = new ContaEmpresa(4117, "Elaine", 0.0, 500.0);


            // UPCASTING
            Conta conta1 = contaEmpresarial;
            Conta conta2 = new ContaEmpresa(4117, "Alex", 0.0, 200.00);
            Conta conta3 = new ContaPoupanca(4118, "Anna", 0.0, 0.01);

            // DOWNCASTING
            ContaEmpresa conta4 = (ContaEmpresa)conta2;

            conta4.Emprestimo(200.00);

            //ContaEmpresa conta5 = (ContaEmpresa)conta3;
            if (conta3 is ContaEmpresa)
            {
                //ContaEmpresa conta5 = (ContaEmpresa)conta3;
                ContaEmpresa conta5 = conta3 as ContaEmpresa;
                conta5.Emprestimo(190.0);
                Console.WriteLine("Emprestimo realizado!");
            }

            if (conta3 is ContaPoupanca)
            {
                //ContaPoupanca conta5 = conta3 as ContaPoupanca;
                ContaPoupanca conta5 = (ContaPoupanca)conta3;
                conta5.AtualizaSaldo();
                Console.WriteLine("ATUALIZA");
            }

            Conta cc1 = new Conta(1001, "Alex", 500.0);
            Conta cc2 = new ContaPoupanca(1002, "Anna", 500.0, 0.01);

            cc1.Saque(10.0);
            cc2.Saque(10.0);

            Console.WriteLine(cc1.Saldo);
            Console.WriteLine(cc2.Saldo);
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: peterlsouza/mcrtti-SOLID
        static void Main(string[] args)
        {
            //usando classe base
            Console.WriteLine("LSP - Usando a classe Base : Conta");
            var conta = new ContaComum();

            conta.Saldo = 100;
            conta.Saque(250);
            Console.WriteLine($"A conta tem o saldo de: {conta.Saldo}");
            //Console.ReadLine();

            //trocando a classe base pela classe derivada
            Console.WriteLine("\n\nLSP - Usando a classe derivada : ContaPoupanca");
            var conta1 = new ContaPoupanca();

            conta1.Saldo = 100;
            conta1.Saque(250);
            Console.WriteLine($"A conta tem o saldo de: {conta1.Saldo}");
            Console.ReadLine();
        }
コード例 #7
0
        static void Main(string[] args)
        {
            Conta         conta    = new Conta(105, "Joao", 100.0);
            ContaNegocios negocios = new ContaNegocios(115, "Caio", 150.0, 200.00);
            ContaPoupanca poupanca = new ContaPoupanca(0997, "Nike", 250.0, 0.01);

            ////UPCASTING
            //Conta x = new ContaNegocios(333, "Anna", 30.0, 0.0);
            //Conta y = new ContaPoupanca(441, "Bob", 20.0, 20.0);

            ////DOWNCASTING
            //ContaNegocios r = (ContaNegocios)x;
            ////Conta n = (ContaPoupanca)x;
            conta.Saque(15.0);
            negocios.Saque(45.00);
            poupanca.Saque(50.00);

            Console.WriteLine(conta.Saldo);
            Console.WriteLine(negocios.Saldo);
            Console.WriteLine(poupanca.Saldo);
        }