Desenvolvimento - Delphi
Delphi: Programação Orientada à Objetos - Parte 01
Vamos falar hoje sobre as formas de programação suportadas por Delphi: a programação estruturada e a programação orientada a objetos.
por Daniel NascimentoOlá pessoal. Este é meu primeiro artigo como colunista do Linha de Código, e gostaria de abrir o espaço para vocês tirarem dúvidas, enviar sugestões, e por que não críticas também. Vou procurar realizar as publicações semanalmente, trazendo muita informação de qualidade para vocês terem mais um ponto de apoio no desenvolvimento das mais diversas aplicações.
Bem, para início de conversa vamos falar um pouco sobre nossa ferramenta de trabalho: DELPHI. Vale lembrar que estarei usando a versão 7.0 Enterprise como ferramenta de desenvolvimento. Caso vocês estejam com ver ões anteriores, não se preocupem, a Borland teveÓa preocupação de manter grande parte da portabilidade destas versões de nosso compilador.
Antes de começar com o assunto de hoje, gostaria de citar temas que gostaria de abordar nesta coluna e não se esqueçam que fico no aguardo do envio de sugestões. Como temas, pretendo escrever sobre:
- Acesso à banco de dados via BDE.
- Acesso à bando de dados via ADO.
- Acesso à banco de dados via dbExpress.
- Conexão com banco de dados: FireBird, MySQL, Oracle, etc.
- Manipulação de dados em componentes dbGrid.
- Aplicações com tecnologia IntraWeb.
- Aplicações com tecnologia CGI.
-
Tratamento de exceções.
- Criação de
relatórios com Quick Report.
- Criação de
relatórios com RAVE Report.
- Criação de
componentes.
- Criação de estruturas de dados.
- Entre outros assuntos...
Agora vamos ao que interessa. Vamos falar hoje sobre as formas de programação suportadas por Delphi: a programação estruturada e a programação orientada a objetos. Acredito que a maioria de vocês estão acostumados com a tradicional programação estruturada, e conhecem um pouco da tão fabulosa programação orientada a objetos.
Antes de falarmos propriamente da POO (Programação Orientada a Objetos), devemos diferenciar os paradigmas Estruturados e Orientados a Objetos. Na programação estruturada a ênfase é dada a procedimentos e funções, enquanto os dados ficam em estruturas separadas. Já na programação orientada a objetos, iremos pensar em Objetos, sendo estes combinações de estruturas (atributos na POO) e seus comportamentos (operações na POO) dos dados em uma única entidade.
Vale ressaltar que a fase de análise na POO se torna de grande importância para a elaboração de bons projetos, e isto significa comercialmente, crescimento da margem de lucro, uma vez que num bom projeto poucas ou nenhuma alteração teremos que fazer para adequarmos a situação real.
Na POO ouve-se falar em alguns termos de grande importância e hoje irei focar este assunto. Um deles é o encapsulamento. Mas o que é encapsulamento?
Quando vamos criar uma classe, devemos pensar apenas nos aspectos essenciais da mesma, “deixando de lado” os detalhes de implementação da mesma, pois para tentarmos trazer a realidade para os sistemas de informação nós pensamos inicialmente em problemas mais gerais e aos poucos realizaremos uma maior generalização do problema, ao procedermos desta forma, estamos falando de um outro termo a Herança, que irei abordar ainda neste artigo.
Voltando ao encapsulamento, por exemplo, pense em um carro (este exemplo é clássico); um certo fabricante decide alterar como os faróis são ligados, alterando algumas características internas a fim de obter um menor consumo de energia. Entretanto é conveniente ainda manter o botão no painel do veículo para ligar estes faróis. Desta forma as modificações feitas pelo fabricante não irão prejudicar a interface entre o motorista (usuário) e os faróis. Este exemplo ilustra a idéia de encapsulamento, você deixa visível apenas os aspectos externos do objeto, possibilitando alterar os detalhes da implementação do objeto, a fim de uma melhor performance, a qualquer momento do projeto não interferindo em nada nos programas que utilizam este mesmo objeto.
A herança, como o próprio nome diz, é a capacidade de herdar alguma coisa... Neste caso, herança dos atributos e métodos de uma classe. Este recurso tem grande aplicabilidade quando você tem uma classe que atende a quase todas as suas necessidades , porém necessite de algumas informações extras. Neste caso, a herança , pois você irá herdar os métodos e atributos da classe, bastando agora, acrescentar ou alterar os atributos ou métodos da nova classe. Lembre-se que as informações herdadas não podem ser “destruídas”.
Se você prestou atenção, deve estar se questionando sobre as alterações de informações de uma classe pai (classe imediatamente superior a que sofreu herança), uma vez que mencionei sobre a não “destruição” de informação da superclasse. Nesta história entra o polimorfismo , ou seja, a existência de diversas implementações de uma mesma operação (método), ou seja, com a mesma assinatura, para trabalhar com diversos tipos e/ou quantidades de parâmetros diferentes, podendo até mesmo ter uma implementação diferente.
Semana que vem veremos mais pouco de Orientação a Objetos.
Ficamos por aqui. Boa semana e um abraço a todos!