Imprimir Post

Programação Orientada a Objetos com C# (Parte 4.1) – Herança

Resumo:

O objetivo não se aplica a este post.

Uma vez que o conteúdo total desta série foi dividido em partes, deve-se considerar absoluto o resumo da primeira postagem até o momento presente.

Herança - Relembre - Link Primeiro Post

Este tema da série Programação Orientada a Objetos com C# irá demandar mais publicações. Sendo assim, a numeração sequencial desta parte da série passou de 4 para 4.1 (vide título) e assim seguirá (4.2, 4.3…) mediante a necessidade de conclusão.

Palavras-chaves:

Variáveis, Propriedades, Modificador, Acesso, Classe, Objeto.

Texto:

Mãos a Obra

Com a alteração das classes Metro e Program apresentando mensagens em uma janela de console através da relação destas (vide post anterior), fica compreendida a declaração, criação e utilização dos elementos básicos que compõem o Encapsulamento, o próximo passo na Programação Orientada a Objetos com C# será entrar no conceito de Herança.

Herança - Relembre - Link Post Anterior

Adendo

Para realização do Post foram utilizados os seguintes Programas:

  • Windows 7 Ultimate;
  • Microsoft Visual Studio 2010 Ultimate SP1 (Service Pack 1).

A única configuração realizada após a instalação dos programas acima, foi manter o Microsoft Visual Studio sendo executado como usuário Administrador do Sistema Operacional, a fim de evitar maiores problemas.

Criando uma aplicação do tipo Console

Tela Inicial do Microsoft Visual Studio 2010 SP1:

Herança - Microsoft Visual Studio 2010 Ultimate - Tela Inicial

Microsoft Visual Studio 2010 Ultimate – Tela Inicial

Localizar e clicar no menu: File, em seguida selecionar New e clicar sobre a opção Project…:

Herança - Microsoft Visual Studio 2010 Ultimate - Criação de Novo Projeto

Microsoft Visual Studio 2010 Ultimate – Criação de Novo Projeto

Tela após clicar na opção Project…:

Herança - Microsoft Visual Studio 2010 Ultimate - Janela Central

Microsoft Visual Studio 2010 Ultimate – Janela Central

A janela central está intitulada como New Project.

Contendo 3 áreas divididas na vertical e 1 área dividida na horizontal, na primeira área à esquerda nomeada como: Installed Templates, expandir a opção Visual C#, na sequencia Windows. Em seguida na área central, localizar e clicar na opção: Console Application. Por fim, na área que representa a divisão horizontal, manter as informações de acordo com a imagem abaixo e clicar no botão Ok:

Herança - Microsoft Visual Studio 2010 Ultimate - Janela Central

Microsoft Visual Studio 2010 Ultimate – Janela Central

Vale destacar as configurações:

  • Name: determina-se o nome do Projeto.
  • Location: determina-se o caminho ou diretório no qual o projeto ficará armazenado.
  • Solution name: determina-se o nome da solução do projeto.
  • Create directory for solution: marcação que determina a criação do diretório para solução.

Herança - Relembre - Solution

Tela após clicar no botão Ok:

Herança - Microsoft Visual Studio 2010 Ultimate - Tela após Criação do Projeto

Microsoft Visual Studio 2010 Ultimate – Tela após Criação do Projeto

Nota-se que ao criar o Projeto Console Application, o Microsoft Visual Studio se encarrega automaticamente de gerar e disponibilizar uma classe chamada Program.cs.  Por hora deve-se ignorar esta classe.

O próximo passo será criar a classe Unitario.cs.

Localizar e clicar com o botão direito no projeto ConsoleApplication em seguida selecionar Add e clicar na opção Class…:

Herança - Microsoft Visual Studio 2010 Ultimate - Criação de Classe

Microsoft Visual Studio 2010 Ultimate – Criação de Classe

Tela após clicar na opção Class…:

Herança - Microsoft Visual Studio 2010 Ultimate - Janela Central

Microsoft Visual Studio 2010 Ultimate – Janela Central

A janela central está intitulada como Add New Item – ConsoleApplication.

Contendo 3 áreas divididas na vertical e 1 área dividida na horizontal, na primeira área à esquerda nomeada como: Installed Templates, clicar  na opção Visual C# Items. Em seguida na área central, localizar e clicar na opção: Class. Por fim, na área que representa a divisão horizontal, manter as informações de acordo com a imagem abaixo e clicar no botão Add:

Herança - Microsoft Visual Studio 2010 Ultimate - Janela Central

Microsoft Visual Studio 2010 Ultimate – Janela Central

Vale destacar as configurações:

  • Name: determina-se o nome da Classe.

Tela após clicar no botão Add:

Herança - Microsoft Visual Studio 2010 Ultimate - Tela após Criação da Classe

Microsoft Visual Studio 2010 Ultimate – Tela após Criação da Classe

Nota-se que ao criar a Classe Unitario.cs, o Microsoft Visual Studio se encarrega automaticamente de disponibilizá-la visualmente, com algumas definições de código padrão.

Sendo assim, tem-se:

 Código :

  • Linha 1 a 4: são declarações de namespaces determinadas pelo próprio Microsoft Visual Studio.
  • Linha 6: declaração de namespace determinado pelo Microsoft Visual Studio à partir do nome dado para o projeto do tipo Console Application. Após a linha 6, o conteúdo presente desde a abertura da chave até o fechamento pertence ao namespace em questão.
  • Linha 8 a 10: declaração da classe Unitario automaticamente disponibilizada pelo Microsoft Visual Studio à partir do nome dado para esta em seu momento de criação.

 Detalhes da declaração da Classe:

  • As declarações determinadas pelo próprio Microsoft Visual Studio para classe Unitario, foram definidas de maneira a omitir o modificador de acesso. Neste caso, a classe assume por padrão o modificador de acesso do tipo private;
  • Não existem membros da classe.

Herança - Relembre - Modificadores de Acesso

Herança - Relembre - Membros da Classe

O próximo passo será criar a classe EspecialDesempregado.cs.

Localizar e clicar com o botão direito no projeto ConsoleApplication em seguida selecionar Add e clicar na opção Class…:

Herança - Microsoft Visual Studio 2010 Ultimate - Criação de Classe

Microsoft Visual Studio 2010 Ultimate – Criação de Classe

Tela após clicar na opção Class…:

Herança - Microsoft Visual Studio 2010 Ultimate - Janela Central

Microsoft Visual Studio 2010 Ultimate – Janela Central

A janela central está intitulada como Add New Item – ConsoleApplication.

Contendo 3 áreas divididas na vertical e 1 área dividida na horizontal, na primeira área à esquerda nomeada como: Installed Templates, clicar  na opção Visual C# Items. Em seguida na área central, localizar e clicar na opção: Class. Por fim, na área que representa a divisão horizontal, manter as informações de acordo com a imagem abaixo e clicar no botão Add:

Herança - Microsoft Visual Studio 2010 Ultimate - Janela Central

Microsoft Visual Studio 2010 Ultimate – Janela Central

Vale destacar as configurações:

  • Name: determina-se o nome da Classe.

Tela após clicar no botão Add:

Herança - Microsoft Visual Studio 2010 Ultimate - Tela após Criação da Classe

Microsoft Visual Studio 2010 Ultimate – Tela após Criação da Classe

Nota-se que ao criar a Classe EspecialDesempregado.cs, o Microsoft Visual Studio se encarrega automaticamente de disponibilizá-la visualmente, com algumas definições de código padrão, seguindo a mesma lógica da classe Unitario.cs, criada no passo anterior.

Sendo assim, tem-se:

Alterando a classe Unitario

Retornando a classe Unitario, deve-se clicar e modificar a área da classe, alterando-a para o seguinte código:

Detalhes da modificação da Classe:

  • A classe Unitario foi alterada com o modificador de acesso public;
  • Foram criadas Propriedades como membros da classe Unitario.

Tela ao colar o código:

Herança - Microsoft Visual Studio 2010 Ultimate – Tela após Alteração da Classe

Microsoft Visual Studio 2010 Ultimate – Tela após Alteração da Classe

Por fim, deve-se salvar a classe Unitario e suas alterações clicando no botão Salvar. Tela com a confirmação positiva (ver rodapé da janela) ao clicar no botão Salvar:

Herança - Microsoft Visual Studio 2010 Ultimate - Tela após Salvar o Projeto

Microsoft Visual Studio 2010 Ultimate – Tela após Salvar o Projeto

Alterando a classe EspecialDesempregado

Na classe EspecialDesempregado, deve-se clicar e modificar a área da classe, alterando-a para o seguinte código:

Detalhes da modificação da Classe:

  • A classe EspecialDesempregado foi alterada com o modificador de acesso public;
  • Foram criadas Propriedades como membros da classe EspecialDesempregado .

Tela ao colar o código:

Herança - Microsoft Visual Studio 2010 Ultimate – Tela após Alteração da Classe

Microsoft Visual Studio 2010 Ultimate – Tela após Alteração da Classe

Por fim, deve-se salvar a classe EspecialDesempregado e suas alterações clicando no botão Salvar. Tela com a confirmação positiva (ver rodapé da janela) ao clicar no botão Salvar:

Herança - Microsoft Visual Studio 2010 Ultimate - Tela após Salvar o Projeto

Microsoft Visual Studio 2010 Ultimate – Tela após Salvar o Projeto

Alterando a classe Program

O próximo passo é retornar a classe Program. Na área à direita nomeada como: Solution Explorer, deve-se clicar duas vezes (2x) sobre Program.cs.

Conforme mencionado, a classe Program foi criada por encargo do próprio Microsoft Visual Studio na concretização de criação do Projeto Console Application, disponibilizando-a com algumas definições de código padrão.

Sendo assim, tem-se:

Código:

  • Linha 1 a 4: são declarações de namespaces determinadas pelo próprio Microsoft Visual Studio.
  • Linha 6: declaração de namespace determinado pelo Microsoft Visual Studio à partir do nome dado para o projeto do tipo Console Application. Após a linha 6, o conteúdo presente desde a abertura da chave até o fechamento pertence ao namespace em questão.
  • Linha 8 a 14: declaração da classe Program automaticamente disponibilizada pelo Microsoft Visual Studio à partir do nome padrão adotado.

Detalhes da declaração da Classe:

  • As declarações determinadas pelo próprio Microsoft Visual Studio para classe Program foram definidas de maneira a omitir o modificador de acesso;
  • O membro neste caso existe nativamente, sendo este o método Main.

Deve-se clicar e modificar a área da classe, alterando-a para o seguinte código:

Detalhes da modificação da Classe:

  • As classes Unitario e EspecialDesempregado foram instanciadas dentro do método Main da classe Program, havendo a percepção de que Unitario e EspecialDesempregado são classes do tipo Classe de Objetos e Program é uma classe do tipo Classe Padrão;

Herança - Relembre - Tipos de Classe

  • As Propriedades criadas a partir da classe Unitario e EspecialDesempregado, foram acessadas atribuindo-lhes valores que respeitam o tipo declarado de cada uma (Tipo e Cor, são ambas do tipo string).

Ao final, existem Classes do próprio Framework que servem para exibir informações referente ao conteúdo dos objetos numa janela de console.

Tela ao colar o código:

Herança - Microsoft Visual Studio 2010 Ultimate - Tela após Alteração da Classe

Microsoft Visual Studio 2010 Ultimate – Tela após Alteração da Classe

Por fim, deve-se salvar o projeto Console Application e suas alterações clicando no botão Salvar. Tela com a confirmação positiva (ver rodapé da janela) ao clicar no botão Salvar:

Herança - Microsoft Visual Studio 2010 Ultimate - Tela após Salvar o Projeto

Microsoft Visual Studio 2010 Ultimate – Tela após Salvar o Projeto

Finalizando o exemplo, resta apenas executar a Aplicação, deve-se então clicar no botão Start Debugging (F5):

Herança - Microsoft Visual Studio 2010 Ultimate - Execução da Aplicação

Microsoft Visual Studio 2010 Ultimate – Execução da Aplicação

Tela ao clicar no botão Start Debugging (F5):

Herança - Microsoft Visual Studio 2010 Ultimate - Execução da Aplicação (Janela de Console)

Microsoft Visual Studio 2010 Ultimate – Execução da Aplicação (Janela de Console)

Considerações Finais:

Esta publicação visa criar e alterar as Classes Unitario, EspecialDesempregadoProgram deixando no resultado da execução mensagens que se diferem em valores para cada objeto, porém se igualam com relação as suas características. Esta representação foi introduzida de maneira proposital, tendo em mira um ponto de partida para utilização prática do conceito Herança, que virá posteriormente.

É importante ressaltar que, a medida que os posts forem evoluindo, com apresentações teóricas somadas as práticas, a tendência é que o leitor vá sanando suas dúvidas e dificuldades de entendimento.

Na próxima publicação, ainda quarta parte da série: Programação Orientada a Objetos com C# será apresentado o segundo post sobre Herança, o leitor irá conferir a continuidade do tema entre outros aspectos relevantes a este assunto.

Referências Bibliográficas:

As referências bibliográficas serão apresentadas no último post desta série.

Sobre o autor

Thiago Richard Vanicore

Thiago Richard Vanicore formou-se em análise e desenvolvimento de sistemas, possui certificação ITIL Foundation V2 e entre seus conhecimentos estão: ASP .Net (WebForms/MVC5/Web API) C#, HTML5, Html/XHtml, CSS3, JQuery, JQuey Mobile, JavaScript, Xml, Ajax, Json, Microsoft SqlServer, MySql, Firebird, Azure, Visual Studio Online, Scrum, UML, CRM, Quality Assurance, CTI (Computer Telephony Integration) MPSBR (Melhoria de Processos do Software Brasileiro).

Link permanente para este artigo: http://linksinergia.com.br/2015/11/04/programacao-orientada-a-objetos-com-c-parte-4-1-heranca/