Programação Orientada a Objeto - Parte I

Um exemplo prático em Delphi



Conceito de POO

 

A programação tradicional (estruturada) leva o programador a pensar no fluxo do programa da primeira linha de código até a ultima, fixando o foco nos programas (procedimento e funções).  Já os dados são colocados em segundo plano, sendo seu manuseio de forma passível e em alguns casos retirando sua importância do contexto.


 

Figura 1 – Arquitetura das linguagens tradicionais.

 

O paradigma da programação orientada a objetos (POO) muda esse conceito, pois em vez do programador ficar pensando no fluxo do programa, ele deve analisar quais objetos estão relacionados a uma tarefa especifica e quais dados  e métodos os torna único.



Figura 2 – Arquitetura da POO.


Na prática a POO proporciona inúmeros benefícios ao desenvolvimento de sistemas, tais como uma maneira eficiente de representar elementos do mundo real para a construção desses sistemas, usando-se para isso classes e objetos.  Dessa maneira a reutilização de classes e objetos, além da sua manutenibilidade, diminuem os efeitos causados pelas manutenções dos sistemas.

 

Mas só com o real conhecimento dos conceitos da orientação a objetos e sua utilização eficiente poderemos obter os benefícios propostos pela POO.

 

- Classe : É a representação de elementos do mundo real, sendo formado, basicamente, por atributos e métodos.  Um atributo é o local onde de armazenamento dos dados, enquanto um método é responsável por realizar ações sobre um ou mais atributos, tais como obter ou modificar os seus valores.

 

- Objeto : É uma instância de uma classe.  Para melhor entender tenha em mente uma analogia com uma variável e seu tipo, onde substituímos a variável pelo objeto e o tipo pela classe.

 

- Método : É uma sub-rotina interna de uma classe, ela é responsável por executar eventos na classe, estando, dessa maneira, ligadas a mesma.

 

- Evento : É uma ação, direta ou indireta, sofrida por uma classe.  Um exemplo já bastante utilizado nesse curso é o evento OnClick, esse evento chama um método que tem sua funcionalidade implementada pelo programador.

 

- Abstração : É a capacidade de recriar os objetos do mundo real em um programa, mas levando em consideração somente o relevante ao mesmo.  Um exemplo disso seria a utilização de um objeto cliente que é baseado na idéia de uma pessoa, que por sua vez é um ser humano.  Não precisamos recriar todas as características de um ser humano, mas somente o relevante ao cliente e que é de interesse do programa.

 

- Encapsulamento : É a capacidade de tornar atributos e métodos de um objeto ocultos a outros objetos. Evidentemente que devem existir alguns métodos que permitam sua utilização, bastando somente saber quais são e como utilizá-los.  Imagine que você está dirigindo um carro, para fazer isso você não precisa conhecer o funcionamento interno do motor, só precisa saber como e quando passa as marchas, entre outras funções.

 

- Herança : É a capacidade de uma classe definida como filha receber características já existentes de outra classe definida como pai ou mãe, em outras palavras, é a classificação hierárquica existente entre classes.  Para entender melhor vamos analisar o exemplo da figura 3, nele temos a classe Mamíferos que dá origem as classes Cachorros e Humanos, essas duas novas classes herdam características da classe Mamíferos mas também têm características distintas entre si.  Em seguida a classe Humanos dá origem a outras duas classes, Homens e Mulheres, que herdarão características já definidas na classe Humanas além de terem suas próprias características.  Dessa maneira cada nova classe (subclasse) tem características mais especificas do que a classe de origem (superclasse).

 

- Polimorfismo : É a capacidade de classes diferentes responderem a mesma ordem, mas de maneira diferente.  Ainda usando a figura 3 como exemplo, podemos ver que Homens e Cachorros são classes diferentes, mas ambos são capazes de correr, embora que o cachorro corra com as quatro patas, já o homem corre sobre os dois pés.


 

Figura 3 – Herança entre objetos.

 

Este artigo foi cedido por http://www.cassic.com.br/