domingo, 29 de março de 2015

[Programação Modular] Programação Orientada a Objetos

A programação orientada a objetos (POO) foi precedida por outro paradigma denominado programação estruturada. Neste, os programas são desenvolvidos utilizando-se três estruturas básicas: 

  • sequência: fluxo contínuo de instruções;
  • decisão: fluxo que é executado se atendida uma condição;
  • iteração: fluxo que é executado enquanto é atendida uma condição.

A modularidade de programas escritos com programação estruturada é obtida com o uso de Tipos Abstratos de Dados, que utilizam funções e acessam dados compartilhados.

As restrições desse paradigma estão exatamente no acesso compartilhado a dados, que limita sua capacidade de expansão e resolução de problemas muito complexos, devido à concorrência existente no acesso aos dados.



Essa limitação é solucionada no paradigma de orientação a objetos, em que a comunicação se dá por mensagens e não por acesso a dados compartilhados.



Outras características relevantes do paradigma de POO é a facilidade de manutenção do programa, pois é possível realizar alterações em apenas um módulo do programa, sem a necessidade de intervenção em todo o código.

Além disso, outros benefícios incluem:

  • maior reaproveitamento de código;
  • maior confiabilidade;
  • melhor gerenciamento;
  • maior robustez.

A modelagem de um problema nesse paradigma considera que tudo é um objeto, que possui um tipo, uma área própria de memória e a capacidade de se comunicar com outros objetos, via mensagem. Objetos encapsulam dados e métodos, provendo um nível de abstração para seus usuários (outros objetos).


Um objeto é uma instância de uma classe, possui uma identidade (referência única que o difere dos demais), um estado (valores que seus atributos assumem) e um comportamento (suas regras para relacionar-se com outros objetos e para alterar seu estado). 

Enquanto a classe representa um módulo do programa, existente em tempo de compilação, um objeto representa uma ocorrência de uma classe, existente em tempo de execução.


A POO possibilita o desenvolvimento de programas modulares. Estes se caracterizam por quatro propriedades principais:
  • decomposição: capacidade de segmentar o programa em módulos que podem ser modificados individualmente, de forma independente. A decomposição fica prejudicada quando há uma forte dependência entre módulos;
  • composição: capacidade de se combinar (acoplar) de forma livre dois módulos distintos;
  • significado fechado: capacidade de se compreender o programa, mesmo sem acesso a todas as suas partes;
  • continuidade: capacidade de se alterar parte da especificação de um programa, modificando apenas alguns módulos.

Nenhum comentário:

Postar um comentário