OOP

Autor: Pedro Luis Kantek Garcia Navarro


O conceito de oop (oriented objects programming languages= linguagens de programação orientadas a objetos), é uma tentativa de conciliar a eterna pendência entre os fazedores de software. De um lado os que previlegiam o enfoque a dados e acham que tudo pode se resolver via modelagem de dados. De outro, os que reconhecem a importância dos dados, mas consideram fundamental a análise dos procedimentos envolvidos através do diagrama de fluxo de dados.

Com a orientação a objetos, a pendência está resolvida. Nem dados, nem procedimentos, e sim OBJETOS.

Segundo seus adeptos, OOP é um método de programação que imita a maneira de pensar o mundo.

É a revolução natural de todas as inovações introduzidas na programação. É mais modular e abstrata do que o que já oi feito em termos de apagamento de detalhes.

CARACTERÍSTICAS:

a) Encapsulamento: é a característica de combinar um registro (descrição e dados) com os procedimentos que os manipulam, formando um novo tipo de entidade: o OBJETO.

b) Herança: define-se um objeto. Usando-o, é construída uma hierarquia de objetos descendentes. Cada filho, neto... tem acesso intrínseco a código, dados e características de seus antecessores, sem que isto seja escrito.

c) Poliformismo: Dada uma ação, a mesma sempre é compartilhada para cima e para baixo na hierarquia de objetos. O poliformismo é a capacidade de cada objeto implementar como for mais apropriado a si mesmo, esta ação.

A troca de programação convencional para as OOP exige que sejam postos de lado hábitos e maneiras de pensar sobre programação que você considerou padrão de muitos anos.
Existem duas vertentes nas opôs: as puras, que só admitem esta visão, e as adaptadas que crescem este conceito a sua forma de trabalho usual.

Na Celepar, temos o Pascal na versão 5.5 que já admite a programação orientada a objetos. Estamos no aguardo da versão % do Clipper, que segundo a propaganda, também virá com esta opção. O assunto se encontra em estudos para posterior divulgação aqui mesmo no BB.