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); }
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); }
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}"); }
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(); }
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); }
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(); }
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); }