Imprimir Post

Programação Orientada a Objetos com C# (Parte 6.5) – Interface

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.

Interface - 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 6.4 para 6.5 (vide título) e assim seguirá (6.6, 6.7…) mediante a necessidade de conclusão.

Palavras-chaves:

Encapsulamento, Herança, Polimorfismo, Propriedades, Classe, Objeto.

Texto:

Mãos a Obra

Com a alteração da Interface IBilhete assumindo como membros a declaração dos Métodos Saldo(), CobraTarifa() e Debita(), tem-se a conclusão do segundo dentre os 3 passos estabelecidos para aplicabilidade de Interface (vide post anterior), o próximo passo será alterar as Classes Unitario, UnicoComum e EspecialDesempregado de maneira a firmar o vínculo entre estas e a interface IBilhete, garantindo a implementação de seus métodos declarados no passo anterior.

Interface - Relembre - Link Post Anterior

Adendo

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

  • Windows 10 Pro;
  • 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.

Alterando a Classe Unitario

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

Tela ao colar o código:

Interface - 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:

Interface - 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 UnicoComum

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

Tela ao colar o código:

Interface - 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 UnicoComum 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:

Interface - 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 UnicoEstudante

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

Tela ao colar o código:

Interface - 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 UnicoComum 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:

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

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

Detalhes das Classes Unitario, UnicoComum e UnicoEstudante

A sintaxe para Interface entre as Classes Unitario, UnicoComum e UnicoEstudante e IBilhete é um conceito novo, ainda não explicado.

Logo, a declaração de uma Interface a ser utilizada se estabelece da seguinte maneira:

Para garantir, portanto, a utilização da técnica Interface no cenário estabelecido, as Classes Unitario, UnicoComum e UnicoEstudante foram modificadas como segue abaixo:

Em resumo, as classes UnitarioUnicoComum e UnicoEstudante  deverão implementar todos os membros (no caso Métodos) declarados na Interface IBilhete.

Outro detalhe é que, segundo fontes diversas, quando ocorre o vínculo entre classes (no exemplo: UnitarioUnicoComum e UnicoEstudante) e interfaces (no exemplo: IBilhete) inicia-se um contrato.

Nota-se também que estas classes foram determinadas para utilização da interface IBilhete mantendo Bilhete como classe Herdada, sendo esta uma combinação de técnicas totalmente possível e será abordada de maneira mais aprofundada ao longo das próximas postagens:

Interface - Classes mantendo a Herança com Bilhete

Classes mantendo a Herança com Bilhete

Considerações Finais:

Esta publicação visa a alteração das Classes Unitario, UnicoComum e UnicoEstudante (agora firmadas com um contrato), preparando-as para implementação obrigatória dos Métodos Saldo(), CobraTarifa() e Debita() declarados à partir da interface IBilhete.

Fica concluído o terceiro passo definido para inclusão de Interface no cenário estabelecido, restando apenas o consumo de toda esta preparação com a classe Program, que virá em sequência.

É 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 sexta parte da série: Programação Orientada a Objetos com C# será apresentado o sexto post sobre Interface, 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/2016/08/31/programacao-orientada-a-objetos-com-c-parte-6-5-interface/