HERANÇA E POLIMORFISMO NO DELPHI.



Joni L. Nunes

jonifoz@yahoo.com.br

1. APRESENTAÇÃO

Este estudo versa demonstrar alguns conceitos básicos da orientação a objetos, e que sua aplicabilidade é cada vez mais comum nos principais ambientes de desenvolvimento. Para tanto, iremos abordar os conceitos de herança e polimorfismo, bem como demonstrar na prática sua utilização.

2. MAS O QUE É MESMO HERANÇA ?

Segundo as conclusões de Medeiros (2004) “Herança é a possiblidade de uma classe utilizar os atributos e métodos de uma outra como se fossem seus. A herança pode acontecer entre classes que tenham afinidade (o mais comum), por exemplo: clsPai e clsFilho”.

Para Deitel (2004), herança é o recurso utilizado para “criar uma nova classe a partir de uma classe existente, a nova classe herda os atributos e comportamento dessa classe existente”.

Com isso pode-se dizer que herança nada mais é do que a ação de herdar métodos, atributos e comportamento de uma outra classe, bem como recursos visuais, mais precisamente interface gráfica.

3. E O TAL POLIMORFISMO ?

Para Medeiros (2004), “Polimorfismo é a habilidade pela qual uma única operação pode ser definida em mais de uma classe e assumir implementações diferentes em cada uma dessas classes”.

Já Deitel (2004), conceitua polimorfismo como sendo a capacidade de, “projetar e implementar sistemas que são mais facilmente extensíveis. Os programas podem ser escritos para processar genericamente – como objetos de superclasse – objetos de todas as classes existentes em uma hierarquia”.

Sendo assim, podemos definir polimorfismo, como sendo a possibilidade de um objeto assumir várias formas, ou seja métodos desse objeto podem ser reescritos, assim assumindo outras formas.

4. APLICABILIDADE, CASO PRÁTICO

Bem, agora que temos em mente, exatamente o que é polimorfismo e herança, será fácil visualizar sua utilização, bem como implementar.

Iremos desenvolver uma tela de cadastro, a qual iremos chamar de “cadastro padrão”, onde irá conter todos os métodos necessários para a implementação de outros cadastros de um dado sistema, no entanto iremos focar a atenção na declaração e implementação do método ValidaPost() que será demonstrado nas figuras 1 e 2.


DeclaracaoValidaPostCadastroPadrao.jpg

Figura 1 – Declaração do método ValidaPost()

 


ImplementacaoValidaPostCadastroPadrao.jpg

Figura 2 – Implementação do método ValidaPost()


Tendo implementado o “cadastro padrão”, iremos trabalhar com outro conceito da orienteção a objetos, a herança. Nota-se facilmente, que o “cadastro padrão” figura 3, está padronizado e pronto para receber informações adicionais, de acordo com a necessidade específica de cada tela, como demostra a figura 4.

 

Ficha cadastro padrao.jpg

Figura 3 – Cadastro Padrão

 

Ficha pessoas.jpg

Figura 4 – Cadastro de Pessoas


Neste ponto as coisas começam a fazer mais sentido, pois como demonstra as figuras figuras 5 e 6, temos uma nova tela, que foi herdada do “cadastro padrão” , está teve várias informações agregadas, bem como o método ValidaPost() reescrito de tal forma a atender suas particularidades.


 

DeclaracaoValidaPostCadastroPessoas.jpg

Figura 5 – Redeclaração do método ValidaPost()


ImplementacaoValidaPostCadastroPessoas.jpg

Figura 6 – Reescrevendo o método ValidaPost()

5. CONCLUSÃO

Com esse estudo fica evidenciado o importante papel da orientação a objetos, bem como sua participação efetiva, na grande evolução das formas de desenvolvimento de software, bem como é transparente, que o desenvolvimento orientado a objetos, se faz presente e necessário cada vez mais, devido a sua gama de recursos.

Vale salientar que os recursos da programação orientado a objetos, podem ser aplicados de várias formas e em várias linguagens de desenvolvimento, porém este estudo demonstrou apenas uma forma, e utilizou para isso a linguagem de desenvolvimento delphi.

Os fontes disponibilizados para download, não são os mesmos do demonstrado no artigo, visto que estes fazem parte de um projeto o qual utiliza componentes de terceiros, sendo assim achei melhor fazer um exemplo mais simples utilizando somente componentes nativos.



REFERÊNCIAS BIBLIOGRÁFICAS


MEDEIROS, ERNANI. Desenvolvendo Software com UML 2.0. Editora Markon Books, 2004.

DEITEL E DEITEL, H. M., P. J. Sistemas de Informação, E as decisões gerenciais na era da internet. Tradução da 9º edição americana, Editora Saraiva, 2003.

CLUBE DELPHI. Disponível em: Revista ClubeDelphi.