As linguagens orientadas a objetos são baseadas em 3 conceitos fundamentais: encapsulamento, herança e polimorfismo. Embora se possa escrever código em Delphi sem entender as características principais da POO, para dominar perfeitamente este ambiente eles são imprescindíveis.
Classes e Objetos
Classe: é um tipo de dado definido pelo usuário que possui um estado e algumas operações. Sendo assim é possível descrever as características genéricas e também o comportamento de objetos que sejam semelhantes.
Objeto: é uma instância de uma classe ou uma variável do tipo de dado definido pela classe.
No Delphi, parte da POO é implementada pelo ambiente de desenvolvimento visual, pois para cada formulário criado, é definida automaticamente uma nova classe. Além disso, todo componente incluído visualmente no formulário é um objeto de um tipo de classe.
Por exemplo, considere a tela do Windows como um conjunto de objetos. O formulário do ambiente Delphi é um conjunto de objetos (componentes). Dessa forma, a barra de status, a barra de ferramentas, os botões e as janelas são objetos.
Propriedades, Eventos e Métodos
Em nível de programação, os objetos existentes no ambiente Delphi:
Propriedades: Conjuntos de características do objeto tanto em nível de aparência quanto em estado. Por exemplo, a janela tem como propriedade estar maximizada ou minimizada.
Eventos: São os comportamentos ou ações que o objeto pode vir a sofrer. Por exemplo, um formulário pode ser criado, mostrado, clicado, fechado, arrastado e etc.
Métodos: Definem as habilidades dos objetos. A ação só ocorre quando o método é invocado através do objeto, podendo ser um procedimento ou uma função. Os métodos em uma classe são apenas definições.
Herança, Polimorfismo e Encapsulamento
Herança: é a característica de herdar ou aproveitar, por exemplo, os métodos de uma classe em outra classe. A utilização de herança faz com que se evite a repetição de código de programa, ou seja, pode-se definir um novo tipo de classe a partir de uma classe já existente.
Polimorfismo: é a capacidade que um objeto tem de assumir outras formas. Desta maneira, é possível fazer que uma mesma variável faça referência a vários objetos de classes diferentes.
Encapsulamento: é o recurso que separa a forma de fazer da interface. Por exemplo, em um carro, 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.
Nenhum comentário:
Postar um comentário