Você está na página 1de 11

Forma

Instncias de tipos escalares ou matriciais Instrues organizadas em estruturas de controlo

Sem modularizao Melhorias

Organizao do cdigo em mdulos, i.e., cpsulas com objectivos bem definidos contendo uma implementao oculta e expondo ao exterior uma interface. A modularizao favorece a abstraco.

Melhora estruturao do fluxo de controlo dos programas Possibilita raciocnio formal acerca de programas Aumenta legibilidade dos programas face ao passado (programao esparguete)
2

Forma
Instncias de tipos escalares ou vectoriais Instrues organizadas em estruturas de controlo Instrues e estruturas de controlo organizadas em rotinas

Modularizao em rotinas
Funes Devolvem resultado de um clculo Procedimentos Agem sobre dados, modificando-os

Melhorias
Possibilita encapsulamento Facilita reutilizao Melhora localizao de erros e facilita manuteno Possibilita maximizao da coeso e minimizao das ligaes

Forma
Instncias de tipos escalares ou vectoriais, ou de TAD (tipos abstractos de dados) Instrues organizadas em estruturas de controlo Instrues e estruturas de controlo organizadas em rotinas Rotinas relacionadas organizadas em TAD

Modularizao
TAD Conjunto de dados e operaes Operaes Rotinas que operam sobre instncias de TAD

Melhorias
Melhora encapsulamento (dados e operaes relacionadas) Possibilita ocultao dos dados Muda perspectiva sobre os problemas
4

Forma
Instncias de classes (objectos), de tipos escalares ou vectoriais, ou de TAD (tipos abstractos de dados) Instrues organizadas em estruturas de controlo Instrues e estruturas de controlo organizadas em rotinas Rotinas relacionadas organizadas em TAD Operaes relacionadas organizadas em classes

Modularizao
Classes Modelos para objectos com um dado comportamento TAD Conjunto de dados e operaes Operaes Rotinas que operam sobre instncias de TAD Mtodos Implementao das operaes

Melhorias
Introduz noes de extenso e especializao Muda drasticamente perspectiva sobre os problemas
5

Paradigmas usados
Programao estruturada Controlo de fluxo Programao procedimental Rotinas Programao centrada nos dados TAD e operaes

Vantagens
Melhor modularizao Melhor encapsulamento Maior possibilidade de reutilizao Possibilidade de extenso e especializao Maior expressividade Maior flexibilidade Maior robustez
6

Interface:
Operaes Implementadas em um ou mais mtodos Propriedades Podem ou no ser implementadas usando atributos

Implementao
Mtodos Implementao de operaes Atributos Dados que fazem parte da implementao da classe
7

Tudo (ou quase) so objectos Objectos tm responsabilidades, comportamentos e propriedades Organizao de programas reflecte realidade

Anlise do problema
Que objectos existem? Que responsabilidades tm? Como colaboram? Como classificar os objectos?

Desenho da soluo
Que classes definir? Que objectos construir? Que responsabilidades lhes atribuir? De que forma os fazer colaborar?
9

Y. Daniel Liang, "Introduction to Java Programming" 7th Ed. Prentice-Hall, 2010

10

Programao Orientada pra Objectos

11