Exemplo Prático – Herança: Programação Orientada a Objetos – Parte 2

Olá pessoal, neste artigo veremos dois exemplos práticos com Herança, o segundo logo após vermos os conceitos do operador base. Acompanhem:

Crie um projeto do tipo Console Application, dando a ele o nome de ExemploHeranca e dê OK. Crie também uma classe dando a ela o nome Animal, esta classe será a classe pai ou classe base.

Nesta classe, adicione o seguinte código:


public class Animal

{

public string Nome;

public string Tipo;

public int Idade;

public string CorDoPelo;

}

Assim temos quatro campos que definem os atributos da classe Animal.

Consideremos a criação de um cadastro de cachorros do reino Animal. Entendemos que cada Cachorro é um Animal, mais nem todo Animal é um Cachorro. Essa relação nos obriga a criar uma extensão da classe Animal a fim de que a mesma contenha os dados específicos referentes aos cachorros. Assim, a extensão criada acaba herdando os membros existentes na definição da classe Animal.

Agora crie uma nova classe com o nome Cachorro, que será a classe filha ou classe derivada da classe Animal.

Nesta classe, adicione o seguinte código:


public class Cachorro : Animal

{

public string Raca;

}

Note que usamos os dois pontos (:) em nossa classe. Fazendo assim, informamos à classe que ela herda as características da classe Animal.

Assim temos a definição da classe Cachorro, que, pela herança, recebe as características da classe Animal, somadas à definição de seus próprios membros, no caso ao campo Raca.

Perceba que, se formos ao Program.cs e instanciarmos a classe Cachorro, temos também acesso aos campos da classe Animal:

Isso também se deve ao fato que foram declarados campos do tipo public, que nos dá acesso a eles de outra classe usando a herança, como neste caso.

Operador Base – Por meio deste operador temos acesso à classe pai. Assim, qualquer referencia feita com o uso do operador base, dentro de uma classe filha, será apontada diretamente para a classe pai.

Apesar de não recomendado, podemos manter atributos de nomes iguais nas classes pai e filha. Este procedimento é chamado de hiding. Quando o usamos, devemos adicionar a instrução new na frente do atributo da classe derivada, caso contrário o compilador irá enviar um alerta sobre o uso de hiding.

Para este exemplo crie duas novas classes, a base, que será chamada de Pai, e a derivada, que será chamada de Filha. Na classe Pai adicione os seguintes campos:


public class Pai

{

public string Nome = "Arnaldo";

public int Idade = 35;

}

Na Filha, adicione os campos com o mesmo nome mais com valores diferentes (note o uso da instrução new) e crie o método que irá exibir os valores de ambas as classes em tela:


public class Filha : Pai

{

public new string Nome = "Jaqueline";

public new int Idade = 10;

public void MostrarValores()

{

Console.WriteLine("Nome Filha: " + Nome);

Console.WriteLine("Nome Pai: " + base.Nome);

Console.WriteLine("Idade Filha: " + Idade);

Console.WriteLine("Idade Pai: " + base.Idade);

}

}

Agora no Program.cs, instancie a classe Filha e chame o método recém-criado:


Filha objFilha = new Filha();

objFilha.MostrarValores();

Console.ReadKey();

Compile a aplicação e veja o resultado:

Simples né?

Disponibilizo o download deste projeto clicando aqui.

Assim finalizo o artigo. Muito obrigado a todos!

Um abraço, e até o próximo artigo.

Wellington Balbo de Camargo

wellingtonbalbo@gmail.com

3 comentários em “Exemplo Prático – Herança: Programação Orientada a Objetos – Parte 2

Expresse sua opinião!

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s