Você está na página 1de 30

Introduo

Programao Orientada a Objetos



Programao Orientada a Objetos I
Prof. MSc. Antonio Marcos Neves Esteca
Prof. MSc. Antonio Marcos Neves Esteca
Recapitulao
Prof. MSc. Antonio Marcos Neves Esteca
Recapitulao
Prof. MSc. Antonio Marcos Neves Esteca
Roteiro
O que um programa de computador?
O que so modelos?
Representao de modelos
O que POO?
Encapsulamento
Conceitos iniciais
Prof. MSc. Antonio Marcos Neves Esteca
1. O que um Prog. de Computador?
Programas so conjuntos de comandos e
regras que um computador deve conhecer
para poder manipular os recursos de
hardware.
Os programas so escritos em linguagens de
programao, que definem regras e um
conjunto de operadores e comandos que
podem ser usados.
Prof. MSc. Antonio Marcos Neves Esteca
1. O que um Prog. de Computador?
O contedo dos programas escritos chamado
de cdigo ou cdigo-fonte (source code).
Para que o cdigo seja executado pelo
computador, ele deve ser traduzido da
linguagem de programao (alto nvel) para
uma linguagem compreendida pelo computador.
Isso feito pelo compilador.
Cdigo-
fonte
0 1 0 0 1 0
1 0 1 1 0 1
0 1 0 1 1 0
Compilador
Prof. MSc. Antonio Marcos Neves Esteca
1. O que um Prog. de Computador?
Programas processam dados: valores em
contas bancrias, caracteres lidos pelo teclado,
pontos em uma imagem, valores numricos
para clculos.
A POO considera que os dados a serem
processados e os mecanismos de
processamento desses dados devem ser
considerados em conjunto.
Prof. MSc. Antonio Marcos Neves Esteca
Roteiro
O que um programa de computador?
O que so modelos?
Representao de modelos
O que POO?
Encapsulamento
Conceitos iniciais
Prof. MSc. Antonio Marcos Neves Esteca
2. O que so modelos?
So representaes simplificadas de pessoas,
itens, tarefas, objetos, ideias, etc, que so
usadas pelas pessoas no dia-a-dia,
independente do uso de computadores.
Exemplo: Considere um restaurante que serve
refeies por kg, sobremesas, cerveja e
refrigerantes de 2L, 600ml e lata. Um modelo
que seria adequado para contabilizar os gastos
de cada mesa dado a seguir:
Prof. MSc. Antonio Marcos Neves Esteca
2. O que so modelos?
Mesa 1
Kg refeio
sobremesa
refrig. 2L
refrig. 600ml
cerveja
Espaos
para as
quantidades
Esse modelo extremamente simples, porm eficiente para o
controle de consumo das mesas desse restaurante. Como vemos, ele
simplifica o mundo real considerando apenas o que importante no
contexto desse problema. No importante, por exemplo, inserirmos
o nome do cliente ou seu endereo.
Mesa 2
Kg refeio
sobremesa
refrig. 2L
refrig. 600ml
cerveja
RestauranteCaseiro
Prof. MSc. Antonio Marcos Neves Esteca
2. O que so modelos?
Um modelo comumente contm operaes ou
procedimentos associados a ele. Essas
operaes so listas de comandos que
processaro os dados do prprio modelo.
Exemplos de operaes para o modelo anterior
seriam para incluir pedido a uma mesa,
apresentar o valor da conta, etc.
Prof. MSc. Antonio Marcos Neves Esteca
2. O que so modelos?
Para facilitar a converso dos modelos para
classes e programas em Java, de agora em
diante adotaremos:
nomes de modelos: iniciais sempre em
maiscula e demais letras em minscula. Nunca
poderemos usar acentos! Exemplo:
RestauranteCaseiro
dados de modelos e operaes: iniciais em
minscula, alterando com maisculas. permitido
o uso de acentos. Exemplo: quantidadeDoItem,
adicionaItem, apresentaConta.
Prof. MSc. Antonio Marcos Neves Esteca
2. O que so modelos?
Dependendo do contexto de um problema,
algumas informaes devem entrar no modelo e
outras no. Exemplos:
Pessoa como empregado da empresa: Para
processar o pagamento seria interessante termos a
representao do nome, cargo, salrio e
horasExtrasTrabalhadas. As operaes importantes
seriam: calculaSalario e aumentaSalrio.
Pessoa como paciente de uma clnica: Seria
interessante termos a representao no nome,
sexo, altura, telefone, peso, histricoDeConsultas.
As operaes: verificaObesidade, adicionaHistrico.
Prof. MSc. Antonio Marcos Neves Esteca
Roteiro
O que um programa de computador?
O que so modelos?
Representao de modelos
O que POO?
Encapsulamento
Conceitos iniciais
Prof. MSc. Antonio Marcos Neves Esteca
3. Representao de modelos
Considere uma lmpada, que pode assumir 2
estados: ligada ou desligada. As nicas aes
que podemos efetuar com a lmpada so as de
acend-la, apag-la e verificar seu estado.
Desse modo, teremos apenas um dados para
representar: estado
Alm desse dado, teremos as operaes acende
e apaga, bem como a mostraEstado
Uma possvel representao para esse modelo
dada a seguir usando uma variante do diagrama
de classes da UML (Unified Modeling Language)

Prof. MSc. Antonio Marcos Neves Esteca
3. Representao de modelos
Na lousa:
Representao e Pseudocdigo
Exerccios:
ContaBancariaSimplificada
RegistroAcademico
Prof. MSc. Antonio Marcos Neves Esteca
Roteiro
O que um programa de computador?
O que so modelos?
Representao de modelos
O que POO?
Encapsulamento
Conceitos iniciais
Prof. MSc. Antonio Marcos Neves Esteca
4. O que POO?
um paradigma de programao de
computadores onde se usam classes e objetos,
criados a partir dos modelos descritos
anteriormente, para representar e processar
dados usando programas de computadores.
Os dados dos modelos so representados por
tipos de dados nativos da linguagem de
programao ou criados pelo programador


Prof. MSc. Antonio Marcos Neves Esteca
Roteiro
O que um programa de computador?
O que so modelos?
Representao de modelos
O que POO?
Encapsulamento
Conceitos iniciais
Prof. MSc. Antonio Marcos Neves Esteca
5. Encapsulamento
Como vimos, modelos contm dados.
Em muitos casos, desejvel que os dados
no possam ser acessados ou usados
diretamente, mas somente atravs das
operaes especializadas na manipulao
desses dados.
Analogia: um nico toque do usurio de uma
mquina fotogrfica automtica faz com que
diversas aes sejam executadas para produzir
a foto desejada. Todas essas aes so
ocultadas do usurio, pois o que importa a ele
o resultado: a fotografia.

Prof. MSc. Antonio Marcos Neves Esteca
5. Encapsulamento
A capacidade de ocultar dados dentro de
modelos, permitindo que somente operaes
especializadas ou dedicadas faam
manipulaes chamada de encapsulamento.
Essa uma das maiores vantagens da
orientao a objetos, pois permite criar
programas com menos erros e mais clareza,
alm de facilitar a manuteno do cdigo-fonte.
Prof. MSc. Antonio Marcos Neves Esteca
Roteiro
O que um programa de computador?
O que so modelos?
Representao de modelos
O que POO?
Encapsulamento
Conceitos iniciais
Prof. MSc. Antonio Marcos Neves Esteca
6. Conceitos iniciais
Classes: so estruturas de linguagens de POO
criadas para conter os dados e operaes de um
determinado modelo. O nome de uma classe deve
ser associado quilo que ela representa.
Podemos entender uma classe como uma forma (um molde), a partir
da qual sero criados os objetos. As classes podem ser entendidas
tambm como os prprios modelos aps a implementao em uma
dada linguagem de programao.
Prof. MSc. Antonio Marcos Neves Esteca
6. Conceitos iniciais
Objetos (ou instncias): so a materializao da
classe, podendo representar dados e operaes
da classe de origem. Para que os objetos possam
ser manipulados, necessrio a criao de
referncias a eles, que nada mais so que a
prpria declarao.
Prof. MSc. Antonio Marcos Neves Esteca
6. Conceitos iniciais
Prof. MSc. Antonio Marcos Neves Esteca
6. Conceitos iniciais
Atributos ou Campos: so os dados contidos na
classe. Cada atributo deve ter um tipo e um nome.
Exemplo: Inteiro Idade;
Prof. MSc. Antonio Marcos Neves Esteca
6. Conceitos iniciais
Mtodos: so as operaes contidas na classe.
Os mtodos podem receber parmetros
externos, como dados sobre os quais tero que
operar. Do mesmo modo, mtodos podem
retornar resultados. Para que um mtodo seja
executado, ele deve ser chamado de alguma
maneira. A essa chamada, alguns autores referem-
se como troca de mensagem.
Prof. MSc. Antonio Marcos Neves Esteca
Reviso
O que um programa de computador?
O que so modelos?
Representao de modelos
O que POO?
Encapsulamento
Conceitos iniciais
Prof. MSc. Antonio Marcos Neves Esteca
Instrues
Configurar ambiente para programao:
Instalar Java (www.java.com/pt_download)
Instalar JDK
Configurar as variveis de ambiente
JAVA_HOME, CLASSPATH e editar a varivel
PATH.
Instalar NetBeans
Prof. MSc. Antonio Marcos Neves Esteca
Dvidas?