Imprimir Post

Programação Orientada a Objetos com C# (Parte 5.1) – Polimorfismo

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 5 para 5.1 (vide título) e assim seguirá (5.2, 5.3…) mediante a necessidade de conclusão.

Palavras-chaves:

Herança, Variáveis, Propriedades, Modificador, Classe, Objeto.

Texto:

Mãos a Obra

Com a alteração das classes Bilhete, Unitario, EspecialDesempregadoUnicoComum 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 a Herança, o próximo passo na Programação Orientada a Objetos com C# será entrar no conceito de Polimorfismo.

Herança - 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.

Contextualizando o cenário

Diante do cenário estabelecido até o momento, UnicoComum foi a última representação prática de uma classe Herdada, que faz parte da categoria de bilhetes conhecida como Bilhete Único. Lembrando que estes bilhetes funcionam de maneira a armazenar créditos, sofrendo recargas ou débitos mediante a utilização como passagem.

À partir de sua construção, houve uma série de mudanças em sua estrutura devido a necessidade de particularizar seu controle de saldo, uma vez que a cobrança de tarifas ou recarga acompanha este saldo de maneira coexistente.

Por natureza inseparável da classe UnicoComum, existe a classe Bilhete que, além de fornecer características a esta e todas as outras Classes Descendentes também admite como Classe Pai mudanças em sua estrutura para contribuir no caso da classe UnicoComum, o reaproveitamento e reescrita de seus comportamentos (métodos).

Surgindo uma nova opção de Bilhete Único

Assim como UnicoComum é uma classe criada para representar o Bilhete Único Comum (opção que se encontra dentro da categoria de Bilhete Único), existe também uma opção de bilhete conhecido como Bilhete Único Estudante, este por sua vez segue a mesma linha de controle de saldo que o Bilhete Único Comum, com a diferença de não possuir Integração.

Polimorfismo - Relembre - Integração

Quando um usuário utiliza um ônibus com o Bilhete Único Estudante é cobrada uma tarifa de R$1,90 e, caso em um tempo limite de 2 horas ele utilize este mesmo bilhete em um metrô, será cobrada também uma tarifa de R$1,90. Este fato é popularmente conhecido como Meia Passagem.

Retornando o cenário prático, para implementar esta nova regra, é necessário entender que o débito de uma passagem deverá ser realizado com uma tarifa própria a condição de meia passagem dentro da criação de uma nova classe denominada UnicoEstudante.

Considerações Finais:

Visando a Introdução e apresentação de um novo aspecto no cenário estabelecido até o momento, coloca-se em destaque a dúvida que basicamente se resume em:

“Como implementar a Meia Passagem para um Bilhete Único Estudante”?

Na próxima publicação, ainda quinta parte da série: Programação Orientada a Objetos com C# será apresentado o segundo post sobre Polimorfismo, 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/06/08/programacao-orientada-a-objetos-com-c-parte-5-polimorfismo/