Vous êtes sur la page 1sur 18

Programao

Orientada a Objetos

Material Terico
Introduo a Programao Orientada a Objetos

Responsvel pelo Contedo:


Prof. Esp. Alexander Gobbato P. Albuquerque
Reviso Textual:
Profa. Ms. Rosemary Toffoli

Introduo a Programao
Orientada a Objetos
Introduo
Importncia do Software
Por que a Tecnologia de Objetos?
Conceito da Anlise e Projeto Orientado
a Objetos
Notao UML para Classe e objetos

Ol alunos(as), sejam bem vindos a disciplina de Programao


Orientada a Objetos, nesta unidade estudaremos os conceitos
bsicos para a criao e entendimento dos conceitos da orientao.
Mostraremos a diferena entre programao estruturada e a
programao orientada a objetos. Essa ser uma aula bem terica
mas importante para a compreenso das unidades seguintes.
Vamos estudar?

Hoje veremos alguns assuntos introdutrios na nossa disciplina e aproveito para apresentar-lhes
alguns conceitos que utilizaremos na estrutura de todas as nossas unidades.
Para obter um bom aproveitamento nesta unidade vamos conferir a estrutura desta unidade:
Contedo Terico: neste link voc encontrar o material principal de estudos na forma de
texto escrito.
Atividade de Sistematizao: os exerccios disponibilizados so de autocorreo e visam que voc
pratique o que aprendeu na disciplina e que identifique os pontos em que precisa prestar mais
ateno, ou pedir esclarecimentos a seu tutor. Alm disso, as notas atribudas aos exerccios sero
parte de sua mdia final na disciplina.
Atividade de Aprofundamento: uma atividade dissertativa.
Material Complementar e Referncias Bibliogrficas: nestes links voc poder ampliar
seus conhecimentos.
Vdeo Aula: nestes links sero apresentadas algumas ferramentas na prtica e tambm a resoluo de
alguns exerccios de forma prtica.
Lembramos a voc da importncia de realizar todas as atividades propostas dentro do prazo
estabelecido para cada Unidade, dessa forma, voc evitar que o contedo se acumule e que voc
tenha problemas ao final do semestre.
Uma ltima recomendao, caso tenha problemas para acessar algum item da disciplina, ou
dvidas com relao ao contedo, no deixe de entrar em contato com seu professor tutor
atravs do boto mensagens.

Unidade: Introduo a Programao Orientada a Objetos

Contextualizao
Um paradigma de programao fornece (e determina) a viso que o programador possui
sobre a estruturao e execuo do programa. Assim como ao resolver um problema podemos
adotar uma entre variadas metodologias, ao criar um programa podemos adotar um determinado
paradigma de programao para desenvolv-lo.
Os sistemas projetados atualmente so maiores, mais complexos e sujeitos a constantes
alteraes e adaptaes aos diversos ambientes computacionais. Atravs do encapsulamento
de informaes, a reutilizao de esforos empregados em projetos anteriores e a modificao
do sistema se tornaram mais fceis.

Introduo
A metodologia Orientao a Objetos baseada em objetos do mundo real, e por este
motivo mais intuitiva ao ser humano, tais como: objetos e atributos, classes e membros,
estruturas e componentes, ao e reao. Os mtodos de desenvolvimento de software anteriores
ao surgimento desse paradigma organizam a especificao de um sistema de acordo com suas
funes ou com os dados manipulados. Geralmente, esses mtodos apresentam dificuldades na
transio da representao do sistema em uma fase para outra do processo de desenvolvimento
(da Anlise para o Projeto e, do Projeto para a Implementao).
Em um sistema orientado a objetos, os dados e todas as operaes, que manipulam esses
dados, so agrupados em uma nica estrutura: as classes. Desde o incio do desenvolvimento
desses sistemas e, em todas as suas fases, o analista trabalha com o mesmo elemento de
abstrao, os objetos.
Estudo das tcnicas de programao utilizando o paradigma da orientao a objetos, bem
como ferramentas em laboratrio para o desenvolvimento de aplicaes cientficas e comerciais.

Importncia do Software

Dependncia generalizada da vida moderna em sistemas de computao.


O software parte cada vez maior dos custos e do sucesso desses sistemas.
Produzir software uma atividade inerentemente complexa:
independe de leis fsicas, restries de materiais e processos de manufatura
Requer mtodos disciplinados de desenvolvimento.

Histrico
A orientao a objetos (OO) foi utilizada primeiramente na dcada de 70.
A Origem na linguagem SIMULA-67 (dcada de 60 - Noruega), que j implementava alguns
conceitos da Orientao a Objetos.
SIMULA-68 foi a primeira linguagem a suportar os conceitos da Orientao a Objetos.
Smaltalk, criada pela Xerox, popularizou e incentivou a Orientao a Objetos.

Unidade: Introduo a Programao Orientada a Objetos

Outras linguagens de Orientao a Ojbjetos: C++, Object Pascal (Delphi), C#, Java...
Java, de fato, popularizou a Orientao a Objetos.

Programa Estruturada versus Programa Orientado a Objetos

Prog. O.O

Prog. Estruturada

Objeto
Dados

Funes

Atributos
(dados)

Mtodos
(funes)

Estruturado:
nfase nos procedimentos, implementados em blocos estruturados, com comunicao entre
procedimentos por passagem de dados

Orientado a objetos:
Dados e procedimentos fazem parte de um s elemento bsico (objeto). Os elementos bsicos
comunicam-se entre si, caracterizando a execuo do programa Dados e procedimentos
agrupados em um s elemento.

Por que a Tecnologia de Objetos?

Os principais problemas do software hoje so:


Diminuir o custo e o tempo da mudana
Aumentar a capacidade e facilidade de adaptao

Objetos so especialmente bons para:


Reduzir o tempo necessrio para adaptar um sistema existente (reao mais rpida
mudanas no seu ambiente de negcio)
Reduzir o esforo, a complexidade e os custos associados mudana

Orientao a objetos Fase e responsabilidade

Fases

Anlise

Define o qu

Projeto

Define o como

Construo do
Implementao Software

Anlise

Entender o domnio do problema


Definir a estrutura esttica da aplicao
Criar vocabulrio comum de conceitos

Projeto

Apresentar a melhor soluo para problema


Definir a estrutura dinmica da aplicao
Fazer especificao

Implementao

Construir a aplicao em conformidade com a especificao

Fazer testes e validaes


Fazer implantao

Unidade: Introduo a Programao Orientada a Objetos

Conceito da Anlise e Projeto Orientado a Objetos

A metodologia de Anlise e Projeto Orientado a Objetos um processo que contm suporte


a notao para definio de software baseado no conceito de objetos que combinam estrutura
e comportamento na mesma entidade.
Este processo geralmente no linear, mas previsvel, cclico, e passvel de teste
e rastreamento.
A notao OOA&D (Object-oriented Analysis and Design ) definio visual comum
que permite as pessoas compartilharem conhecimento sobre sistema - OOA&D consiste em
trs partes:
Processo (So as atividades)
Notao (demonstra a interao dos objetos)
Regras (descreve como o sistema deve trabalhar)

Principais Conceitos
As duas principais caracterstica da Orientao a objetos so Classes e Objetos
O que uma classe?

Dilogo com o Autor


classe [Do lat. classe.] S. f. 1. Numa srie ou num conjunto, grupo ou diviso que apresenta caractersticas semelhantes;.......
21. Inform. Em programao ou modelagem orientada a objetos (v. orientao a objetos), categoria
descritiva geral, que abrange o conjunto de objetos que compartilham uma ou mais caractersticas
quanto a seus itens de dados e procedimentos associados. 22. Lg. Agrupamento de objetos que tm
uma ou mais caractersticas em comum.
Uma classe uma entidade descreve um conjunto de objetos com propriedades e comportamentos semelhantes e com relacionamentos comuns com outros objetos
As classes so as partes mais importantes de qualquer sistema orientado a objetos.
Usamos as classes para capturar o vocabulrio do sistema que est em desenvolvimento. Essas
classes podem incluir abstraes que so parte do domnio do problema, assim como as classes que
fazem uma implementao. Podemos usar ainda as classes para representar itens de software, de
hardware e at itens que sejam somente conceituais.

10

Contexto: Venda de flores


Chris precisa enviar flores para o amigo Robin que mora em outra cidade
Objetivo:
Mandar Flores
para o Robin

Arranjador

Objetivo: Criar o
arranjo das flores

Florista

Chris

Cultivador
Objetivo:
Satisfazer o
Cliente

Objetivo:
Criar
Flores

Atacadista

Robin

Objetivo:
Fornecer flores
frescas

Entregador

Figura 1. Venda de Flores, Adaptado de Budd,2002

Objetivo: Entregar
as flores para o
Robin

Agentes e Comunidades

Objetivo:
Mandar Flores
para o Robin

Chris

Florista

1. Chris passa uma mensagem para o florista contendo uma requisio (entregar flores para
Robin em outra cidade).
2. responsabilidade do florista satisfazer esta requisio.
3. Chris no sabe o mtodo que o florista ir utilizar para entregar flores em outra cidade e
tambm desconhece os detalhes desta operao.
POO estruturada como uma comunidade de agentes que interagem chamados
de objetos;
Cada objeto tem um papel a ser executado;
Cada objeto fornece servios ou executam aes que podem ser utilizadas por outros
membros da comunidade.
11

Unidade: Introduo a Programao Orientada a Objetos

Mensagens e Mtodos
Uma ao a transmisso de uma mensagem para um agente (objeto) responsvel
pela ao.
Quando um objeto aceita a mensagem ele responsvel por tratar a ao.
Em resposta a esta mensagem o receptor executar algum mtodo para atender a
solicitao.

Responsabilidades
Descreve o comportamento em termos de responsabilidades.
O conjunto de responsabilidades de um objeto descrito atravs e protocolos

Classes e Instncias
O Florista um exemplo de classe, pois representa todos os floristas. O Florista Pitoco,
e o Bodjo so instncias desta classe.
Um outro exemplo de classes e instncias forma de gelatina e as gelatinas.

Objetivo: Criar
Flores

12

Notao UML para Classe e objetos


A identificao para as classes em UML um retngulo divido em trs partes. Caso no queira
exibir os detalhes da classe voc pode suprimir alguns detalhes como atributo e os mtodos,
conforme mostram as figuras a seguir

Notao UML para classes

A seo superior reservada para a identificao da classe. Essa seo obrigatrio o


preenchimento. O nome da classe deve conter somente letras e palavras concatenadas e a
primeira letra deve ser escrita em maisculo.
Exemplo de nomes:
Aluno
Empregado
Curso
Na segunda seo so exibidos os atributos da classe, esses atributos so variveis membro
da classe que podem ser usadas pelos mtodos tanto para acesso ou escrita.
O atributo pode ser criado com as seguintes notaes:
+ Acesso pblico, tanto funes membros da classe e funes externas podem ter acesso
ao atributo pblico.
- Acesso privado, somente funes membros da classe tem acesso a esses atributos
# Acesso protegido, o atributo tambm privado mas as funes membros das classes
derivadas tambm tem acesso aos atributos.
Na ltima seo so exibidos os mtodos da classe, ou seja, as funes que a classe possui.
Os mtodos tambm seguem a mesma notao que os atributos.
+ Acesso pblico, tanto funes membros da classe e funes externas podem ter acesso
ao atributo pblico.
- Acesso privado, somente funes membros da classe tem acesso a esses atributos
# Acesso protegido, o atributo tambm privado mas as funes membros das classes
derivadas tambm tem acesso aos atributos.
13

Unidade: Introduo a Programao Orientada a Objetos

Material Complementar

Explore
Livros Disponveis na Biblioteca Virtual Universitria da Pearson Education
- Aprenda Programao Orientada a Objetos em 21 dias (Anthony Sintes)
- Java Como Programar, 8 edio (Paul Deitel e Harvey Deitel)
- Core Java Volume 1 (Cay Horstman e Gary Cornell)

- Conceitos de POO em ingls, site da SUN:


http://download-llnw.oracle.com/javase/tutorial/java/concepts/index.html

14

Referncias
DEITEL, H. M. Java: Como Programar. 6. ed. Porto Alegre: Bookman, 2007.
GAMMA, E. et al. Padres de Projeto: Solues Reutilizaveis de Software Orientado a Objetos.
Porto Alegre: Bookman, 2007.

15

Unidade: Introduo a Programao Orientada a Objetos

Anotaes

16

www.cruzeirodosulvirtual.com.br
Campus Liberdade
Rua Galvo Bueno, 868
CEP 01506-000
So Paulo SP Brasil
Tel: (55 11) 3385-3000