Artigo Clube Delphi 74 - Programação Orientada a Objetos no Delphi

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Artigo da revista Clube Delphi Edição 74

Esse artigo faz parte da revista Clube Delphi Edição 74. Clique aqui para ler todos os artigos desta edição

Atenção: por essa edição ser muito antiga não há arquivo PDF para download.Os artigos dessa edição estão disponíveis somente através do formato HTML.

Programação Orientada a Objetos no Delphi

 

Conceitos e Implementação – Parte 1

A Programação Orientada a Objetos (POO) proporciona inúmeros beneffclos ao desenvolvimento de sistemas. Dentre eles, pode-se destacar que a POO tem se mostrado uma maneira eficiente de representar elementos do mundo real para a construção de sistemas computacionais, através do uso de classes e objetos. Além disso, a reutilização e o incremento do grau de manutenibilidade refletem na diminuição dos efeitos que as manutenções causam.

Essas características estão dentre aquelas que têm proporcionado uma difusão cada vez maior da POO entre os desenvolvedores de software. Porém, para obter tais benefícios, é necessário conhecer bem os conceitos da orientação a objetos, tais como: encapsulamento, herança e polimorfismo, utilizando-os eficientemente na construção de sistemas.

Além disso, do conhecimento desses conceitos à sua aplicação em uma linguagem de programação, existem diversos fatores a serem analisados e obstáculos a serem superados. Um dos principais fatores é compreender como a linguagem de programação adotada, nesse caso o Delphi, aborda e implementa tais conceitos. Isso torna-se fundamental para construção de sistemas orientados a objetos eficientes.

Este artigo tem como finalidade demonstrar de maneira prática, através de exemplos,como o Delphi aborda os principais conceitos da programação Orientada a Objetos e está estruturado em seções que tratam de assuntos como classes, atributos e métodos, encapsulamento, herança, polimorfismo, associação e interfaces.

 

Modelo de classes

Os exemplos utilizados neste artigo são baseados no diagrama de classes apresentado na Figura 1, permitindo contextualizar os conceitos e códigos apresentados, facilitando seu entendimento.

 

Figura 1. Diagrama de classes de aplicação exemplo

 

No diagrama, pode-se perceber um conjunto de classes,cada qual com seus atributos e métodos. Além disso,existe uma associação do tipo l-para-N entre as classes Departamento e Funcionario, e uma hierarquia de classes a partir de Funcionario.Tal diagrama demonstra parte de uma aplicação cujo objetivo é calcular salários de funcionários de .diferentes tipos, como: mensalistas e diaristas.

 

Classes, Atributos e Métodos

Conceitualmente as classes são representações de elementos do mundo real. Dessa formação compostas basicamente de membros chamados atributos e métodos. Os atributos são responsáveis por armazenar os dados de uma determinada instância (objeto) da classe. Já os métodos são responsáveis, além de outras funções, por realizar ações sobre o conjunto de atributos,obtendo e modificando os seus valores quando necessário.

Classes são definidas em units, que podem ser utilizadas por um ou mais programas. Além disso, uma unit pode conter uma ou mais definições de classes. As units são divididas em seções como interface, implementação, inicialização e finalização.As palavras reservadas interface, implementation, initialization e finalization demarcam essas seções, respectivamente.

Na seção interface são declaradas constantes, variáveis, tipos de dados, procedimentos e funções que estão disponíveis dentro da unit. A implementação propriamente dita dos procedimentos, funções e métodos das classes ocorre na seção implementation. Existe uma paridade entre os elementos declarados na seção interface e codificados na seção implementation, com algumas exceções vistas mais adiante.

As seções initialization e finalization são opcionais e podem conter códigos que são executados na inicialização e finalização da aplicação, respectivamente. Podem ser usadas, por exemplo, para inicializar e finalizar estruturas de dados definidas na unit.

Uma questão importante refere-se ao fato de que uma unit pode referenciar outras units através da palavra reservada uses. Dessa forma, tais units tornam-se dependentes entre si, permitindo que os tipos de dados de uma unit podem ser vistos e acessados por outra. No caso das classes.os seus métodos podem ser acessados de acordo com os tipos de visibilidade definidas para cada caso.

Além disso,referências podem ser definidas para as seções da unit separadamente, ou seja, podemos referenciar um conjunto de units para a seção interface e outro para a seção implementation.

Entretanto, deve-se ter um cuidado em relação às referências circulares, que ocorrem quando uma unit faz referência à outra, tendo essa outra, também uma referência à unit anterior, na mesma seção. Podem existir referências mútuas entre units, porém em seções diferentes. A Listagem 1, demonstra a estrutura de uma unit com suas características.

 

Listagem 1. Estrutura de uma unit

01: unit untClasses;

02: interface

03: uses {Lista de units para uso na interface}

04:     {Definiç!o dos tipos de dados. constantes. "

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?