public TestesHerancaComposicao() { var pessoaHeranca = new PessoaFisica { Nome = "Joao", DataNascimento = DateTime.Now, Cpf = "01440370185" }; var pessoaComposicao = new PessoaFisica2 { Pessoa = new Pessoa { Nome = "Joao", DataNascimento = DateTime.Now, }, Cpf = "12346578958" }; var nomeHerance = pessoaHeranca.Nome; var nomeComposicao = pessoaComposicao.Pessoa.Nome; }
public TestesHerancaComposicao() { var pessoaHeranca = new PessoaFisica { Nome = "Joao", DataNascimento = DateTime.Now, Cpf = "32165498765" }; var pessoaComposicao = new PessoaFisica2 { Pessoa = new Pessoa { Nome = "Joao", DataNascimento = DateTime.Now, }, Cpf = "32165498765" }; var nomeHeranca = pessoaHeranca.Nome; var nomeComposicao = pessoaComposicao.Pessoa.Nome; }
public TestesHerancaComposicao() { PessoaFisica pessoaHeranca = new PessoaFisica { Nome = "João", DataNascimento = DateTime.Now, Cpf = "3216548765" }; PessoaFisica2 pessoaComposicao = new PessoaFisica2 { Pessoa = new Pessoa { Nome = "João", DataNascimento = DateTime.Now }, Cpf = "3216548765" }; string nomeHeranca = pessoaHeranca.Nome; string nomeComposicao = pessoaComposicao.Pessoa.Nome; }
public TestesHerancaComposicao() { var pessoaHeranca = new PessoaFisica { Nome = "Joao", DataNascimento = DateTime.Now, Cpf = "32165498765" }; var pessoaComposicao = new PessoaFisica2 { Pessoa = new Pessoa { Nome = "Joao", DataNascimento = DateTime.Now, }, Cpf = "32165498765" }; // Na herança o valor é manibulado assim. var nomeHeranca = pessoaHeranca.Nome; // na composição o valor é manipulado da forma abaixo devido ao tipo Pessoa ser instanciado dentro da classe. var nomeComposicao = pessoaComposicao.Pessoa.Nome; }
static void Main(string[] args) { Console.WriteLine("Escolha uma opção:"); Console.WriteLine(); Console.WriteLine("1 - Classe vs Objeto"); Console.WriteLine("2 - Estado e comportamento"); Console.WriteLine("3 - Herança"); Console.WriteLine("4 - Usando encapsulamento"); Console.WriteLine("5 - Interface Implementacao"); var opcao = Console.ReadKey(); switch (opcao.KeyChar) { case '1': Console.Clear(); Console.WriteLine("Exemplo de um objeto através de uma classe Carro"); Console.WriteLine(); var carro = new Carro().CriarNovoCarro(); Console.WriteLine("Classe: {0}", typeof(Carro).Name); Console.WriteLine("Objeto:"); Console.WriteLine(string.Format("Farol de milha: {0} - Alarme: {1} - Bancos: {2} - {3} Portas - {4} KM/H", carro.FarolMilha, carro.Alarme, carro.NumeroAssento, carro.NumeroPortas, carro.VelocidadeMaxima)); Console.WriteLine(); break; case '2': Console.Clear(); Console.WriteLine("Da-se um estado a classe criado sua instância"); Console.WriteLine(); var ricardo = new Pessoa("Ricardo", Convert.ToDateTime("1994/05/03")); var idade = ricardo.CalcularIdade(); Console.WriteLine("Ricardo possui {0} anos. Idade obtida através de um comportamento", idade); Console.WriteLine(); break; case '3': Console.Clear(); Console.WriteLine("Cria uma pessoa física que é herança de pessoa"); Console.WriteLine(); var pessoaFisica = new PessoaFisica("Ricardo", Convert.ToDateTime("1994/05/03")); pessoaFisica.Cpf = "111.111.111-11"; Console.WriteLine("Reaproveita do mesmo método para calcula idade e das propriedades da pessoa"); var idadePessoaFisica = pessoaFisica.CalcularIdade(); Console.WriteLine("Classe: {0}", pessoaFisica.GetType().Name); Console.WriteLine("Nome: {0} - Data Nascimento: {1} - Idade: {2}", pessoaFisica.Nome, pessoaFisica.DataNascimento, idadePessoaFisica); Console.WriteLine(); break; case '4': Console.Clear(); Console.WriteLine("Usando de um encapsulamento para preparar uma vitamina"); Console.WriteLine(); var encapsulamento = new Encapsulamento().PrepararVitamina(); Console.WriteLine(encapsulamento); Console.WriteLine(); break; case '5': Console.Clear(); Console.WriteLine("Use o debug para visualizar as diferenças nas formas via código"); Console.WriteLine(); new TesteInterfaceImplementacao(); break; default: break; } Console.Write("Pressione qualquer tecla para finalizar..."); Console.ReadKey(); }