Sunteți pe pagina 1din 25

Programao Orientada Objetos

Programao I Renata Zanella 19/08/2009

Conceitos Preliminares:

O que programao? Programas Linguagem de programao Resoluo de problemas Introduo a Programao Orientada objetos O paradigma OO As bases da OO Mudanas de enfoque Programao estruturada x Orientada Objetos

Programao Orientada Objetos

Aspectos da programao

Programar controlar

Computadores fazem exatamente o que dito a ele. Computadores aprendem coisas novas se voc mostrar como. Computadores devem fazer algo til

Programar ensinar

Programar resolver problemas

por exemplo, encontrar uma rota de viagem tima.

Programar ser criativo

Encontrar uma boa soluo entre muitas possibilidades.

Programao Orientada Objetos

Aspectos da programao

Programar modelar

descrever propriedades e comportamentos relevantes de um sistema de componentes identificar aspectos relevantes sem se perder nos detalhes

Programar abstrair

Programar algo concreto

deve prover instrues detalhadas para uma tarefa completa


Programao Orientada Objetos 4

O que um programa?

Modelo de um sistema complexo

modelo:

representao simplificada de aspectos relevantes de alguma coisa, real ou abstrata coleo de componentes que trabalham juntos

sistema:

Sequncia de instrues expressas em linguagem de programao especfica:

sintaxe:

conjunto de regras gramaticais para formar instrues significado/interpretao das instrues


Programao Orientada Objetos 5

semntica:

Histrico das Metodologias de Desenvolvimento de Software

Incio Anos 70 - Programao Estruturada

Fim Anos 70 - Projeto Estruturado

Niklaus Wirth

Anos 80 - Anlise Estruturada

Constantine, Yourdon

Anos 90

Yourdon/DeMarco, James Martim, Chris Gane Orientao a Objetos

Qualidade de Software UML Componentizao

Baseado no paradigma estruturado

Programao Orientada Objetos

Anlise Estruturada

o objetivo principal era fazer com que o pessoal de sistemas pensasse antes de agir; tentativa de impor alguma ordem natureza acidental da construo de programas; produziu um modelo rigorosamente seqencial;

anlise;

projeto;

O que ?

implementao.
Programao Orientada Objetos 7

Como

Metodologia 'estruturada'

Tradicionalmente, a literatura tratava anlise, projeto e implementao como atividades diferentes e, at certo ponto, desconexas pois tinham:

diferentes mtodos; diferentes notaes e diferentes objetivos.

Na necessidade de especificar o que est prestes a ser implementado tratavam a anlise e o projeto como as nicas coisas que realmente interessam.

A implementao seria apenas algo inevitvel.

Programao Orientada Objetos

Orientao objetos

Crise do software e necessidade de mudar Surgiu a idia da orientao a objetos que representa melhor o mundo real, uma vez que a percepo e o raciocnio do ser humano esto relacionados diretamente com o conceito de objetos. Objetivo principal da utilizao do paradigma da Orientao a Objetos, na construo de software :

Rpido

Barato

no perder muito tempo no desenvolvimento

Flexvel

linhas de montagem e reutilizao de cdigo


fcil modificar ou extender
Programao Orientada Objetos 9

Paradigma Estruturado Orientao Objetos

Na Estruturada

Os sistemas so divididos em subprogramas; Fixa a ateno muito mais nos procedimentos que nos dados. Dados e Procedimentos possuem a mesma importncia;
Programao Orientada Objetos 10

Na Orientao Objetos

Introduo a Programao Orientada objetos

A idia fundamental da programao orientada a objetos que toda estrutura de dados utilizada em um programa deve estar intimamente associada s operaes que realizam o acesso a ela, e vice-versa. O paradigma da OO baseado na construo de sistemas a partir de componentes reutilizveis, chamados de classes. Uma classe generaliza/ representa um conjunto de objetos similares.
Programao Orientada Objetos 11

Paradigma Orientado Objetos

Paradigma = Padro

Paradigma da OO

Pode ser descrito como uma estratgia ou abordagem genrica para se fazer alguma coisa. Muitas pessoas consideram o paradigma como um modelo ou um conjunto de normas especficas.

Estratgia de desenvolvimento baseada no conceito de que o sistema deve ser construdo a partir de componentes reutilizveis, chamados de classes.
Programao Orientada Objetos 12

As bases da OO

A tecnologia de objetos apresenta componentes chaves que fundamentam a mudana de enfoque no processo de modelagem e desenvolvimento de aplicaes, trazendo benefcios intrnsecos filosofia [FURLAN, 1998]. programao estruturada:

estruturas de controle (seqencial, condicional e repetitiva), modularizao, tipos abstratos de dados classes, objeto, herana (reutilizao de cdigo), polimorfismo.

programao orientada objetos:

Programao Orientada Objetos

13

Mudana de Enfoque (1/2)

Enfoque tradicional de modelagem

construo de sistemas de informao baseado na compreenso desse sistema como um conjunto de programas que, por sua vez, executam processos sobre os dados;

programa = estrutura de dados + algoritmo.


Programao Orientada Objetos 14

Mudana de Enfoque (2/2)

Enfoque de modelagem por objetos

observar o mundo como uma coletnea de objetos que interagem entre si, apresentam caractersticas prprias que so representadas pelos seus atributos (dados) e operaes (processos);

classe = atributos + operaes.

Programao Orientada Objetos

15

Definio de Orientao Objetos


uma nova maneira de pensar os problemas utilizando modelos organizados a partir de conceitos do mundo real. O comportamento fundamental o objeto que combina estrutura e comportamento em uma nica entidade. Rumbaugh
Programao Orientada Objetos 16

Modelos Orientados a Objetos

Os principais diagramas so usados nas fases de anlise, projeto e implementao, apenas com uma mudana de viso. Dados so protegidos por cpsulas, onde tambm residem procedimentos que acessam estes dados. Reutilizao de cdigo. Aumento de produtividade. Diminuio do custo de desenvolvimento e manuteno.
Programao Orientada Objetos 17

Conceitos de OO

Objeto qualquer coisa existente no mundo real, em formato concreto ou abstrato. Ex.: aluno, professor, mesa, cadeira, caneta, disciplina, avaliao, janela do windows, boto, caixa de dilogo, etc.. caracterizado por atributos e operaes.
Programao Orientada Objetos 18

Conceitos de OO

Atributos so caractersticas ou propriedades dos objetos.

Ex.: Atributos do objeto Joo:


Os objetos devem incluir atributos que o especializem.

Nome: Joo de Souza Endereo: Rua A, n 28 Sexo: Masculino Data de Nascimento: 01/03/1970 Altura: 1,75 m Peso: 70 Kg Estado civil: casado Cor dos olhos: azuis Cor dos cabelos: castanho

Ex.: RA, CRM, Nmero carteira de trabalho, etc..

Programao Orientada Objetos

19

Conceitos de OO
Operaes so comportamentos que alteram o estado do objeto ou prestam servios a outros objetos.

Atributos

Ex.: Objeto Funcionrio Pedro Nome: Pedro de Souza Cargo: Gerente Salrio: R$ 2000,00 Data de Admisso: 15/06/1998

Reajustar_Salrio Obter_Salrio_Lquido Obter_Tempo_de_Trabalh o

Operaes

Programao Orientada Objetos

20

Conceitos de OO

Classe

quando identificamos caractersticas e operaes similares em objetos distintos, estamos realizando sua classificao -> identificamos classes; classe uma representao para um conjunto de objetos que compartilham atributos, mtodos e relacionamentos; uma classe especifica a estrutura do objeto sem informar quais so os seus valores; cada objeto corresponde a uma instncia de uma classe. Identificao de classes <-> Substantivos (fsicos ou conceituais)

Programao Orientada Objetos

21

Conceitos de OO

Programao Orientada Objetos

22

Conceitos de OO
Benefcios da abordagem orientada a objetos: Modularidade: Uma vez criado um objeto pode ser passado por todo o sistema; Encapsulamento: Detalhes de implementao ficam ocultos externamente ao objeto; Reuso: Uma vez criado um objeto pode ser utilizado em outros programas; Manutenibilidade: Manuteno realizada em pontos especficos do seu programa (objetos).

Programao Orientada Objetos

23

Classes e Objetos

Objetos so coisas que temos no mundo real e abstramos no mundo virtual para que possamos manipul-los na resoluo de problemas. Um objeto no mundo real sempre possui estado e comportamento, isto , ele possui caractersticas e aes que so pertinentes a sua natureza. Para clarificar nada melhor do que alguns exemplos:

Observe que estado e comportamento, respectivamente, so transformados em dados e procedimentos quando programamos de forma estruturada e atributos e mtodos quando utilizamos orientao a objetos.
Programao Orientada Objetos 24

Diferenas entre PE e OO
A grande dificuldade para compreender a programao OO a diferena de abordagem do problema. Enquanto a programao estruturada tem como principal foco as aes (procedimentos e funes), a programao OO se preocupa com os objetos e seus relacionamentos. Alm do conceito de objeto, a programao OO tem como alicerces os conceitos de encapsulamento, classe, herana e polimorfismo.
Programao Orientada a Objetos Mtodos Instncias de variveis Mensagens Classes Herana Polimorfismo Programao Estruturada Procedimentos e funes Variveis Chamadas a procedimentos e funes Tipos de dados definidos pelo usurio 25

Programao Orientada Objetos

S-ar putea să vă placă și