Вы находитесь на странице: 1из 25

Computadores e Programas

Programas e Objetos
Prxima Aula

Algoritmos e Programao I
1

Aula

01 - Objetos e Classes

Professores de ALPRO I - Slvia M.W. Moraes


Faculdade de Informtica - PUCRS

February 26, 2013

1 Este material no pode ser reproduzido ou utilizado de forma parcial sem a


permisso dos autores.
Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Sinopse

Nesta aula, introduzimos o conceito de

programa, objetos e

classes.
Os slides apresentados foram adaptados. Usamos materiais
produzidos pelos professores de ALPRO I e materiais extrados
dos livros-texto da disciplina.

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Sumrio

Computadores e Programas

Programas e Objetos

Prxima Aula

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Computadores e Programas

Um computador armazena e transforma dados, interage com


dispositivos e executa tarefas.

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Computadores e Programas

Um computador precisa ser

programado

para executar uma

tarefa.

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Computadores e Programas

Um programa de computador um modelo.


De uma parte do mundo.

De uma entidade concreta.


De uma lgica de controle.
etc ...
As partes com as quais este modelo construdo so os
objetos.

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

O que um Programa ?

Denio

Programa
Conjunto de objetos que se comunicam.

Purrer = ronronador, Pouncer = espreitador, Dog taunter = irritador de cachorro, Wool tangler =
embaralhador de l
Professores de ALPRO
I - Slvia
M.W. Moraes
Programao I
(Fonte
dos gatos:
Rumbaugh etAlgoritmos
al., 1990, e
Prentice-Hall)

Computadores e Programas
Programas e Objetos
Prxima Aula

Mas... O que so objetos ?

Atividade I:

Observe os elementos abaixo, como voc os

organizaria ?

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Mas... O que so objetos ?

Os elementos apresentados so todos objetos e podem ser


organizados nas classes:

Televisor
Tringulo
Crculo
Quadrado

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Objetos x Classes

Atividade II:

Agora, analise as frases abaixo. Elas referem-se

a objetos ou s suas classes ?

O televisor da minha av antigo, no tem controle remoto.


Todo televisor tem um boto para lig-lo e deslig-lo.
O tringulo1 amarelo.
O dimetro do crculo2 70.
Nos quadrados, os lados so iguais.

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Objetos x Classes

Objetos
Representam `coisas' reais, ou de algum domnio do problema.

Exemplo :

 O meu televisor de LCD e tem 32 polegadas .

Classes
Representam todos os objetos de um tipo.

Exemplo :

 televisor .

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Objetos x Classes

A construo de um programa inicia com a denio de


classes.
Os objetos so criados (instanciados) a partir das suas classes.
Dizemos que os

objetos

so

Professores de ALPRO I - Slvia M.W. Moraes

instncias

de uma classe.

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Como instanciar um objeto ?


O objeto

circle1

(em vermelho), por exemplo, foi criado

clicando com o boto direito sobre a classe


a instruo

Circle

e escolhendo

new Circle().

Muitas instncias podem ser criadas a partir de uma nica


classe.

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Como instanciar um objeto ?

Atividade III:

Quais as classes existentes neste programa ?

Quantas instncias foram criadas ? Essas instncias foram


criadas a partir de quais classes ? E como elas foram criadas ?

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Comportamento de um Objeto

Objeto:

componente elementar do modelo de um programa.

Cada objeto responsvel por executar determinadas tarefas.


O conjunto de tarefas que um objeto realiza dene seu
comportamento.

Essas tarefas esto descritas em operaes, as quais chamamos


de mtodos.
Um mtodo consiste de uma sequncia de instrues que
acessam dados.

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Comportamento de um Objeto

Quando se executa um mtodo no necessrio conhecer seu


conjunto de instrues. O importante saber a tarefa que o
mtodo realiza.
Para manipularmos um objeto, basta invocarmos (chamarmos)
seus

mtodos.

Para gerar o objeto abaixo, invocamos os mtodos:


void makeVisible()
void changeColor(String newColor)
void changeSize(int newHeight, int newWidth)
void moveDown()
void moveRight()

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Mtodos

Cada mtodo corresponde a uma operao que podemos


solicitar que o objeto realize.
Um mtodo pode ter um

valor de retorno

parmetros.

parmetros:
informaes adicionais que o mtodo precisa para executar sua
tarefa.
todo parmetro possui tipo (ex: String, int, ...) e nome (ex:
newColor)

valor de retorno:
informao devolvida pelo mtodo aps sua execuo.
pode ter tipo ou no (void indica que o mtodo no tem valor
de retorno).

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Mtodos

assinatura

(cabealho) do mtodo fornece as informaes

necessrias para invoc-lo.

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Mtodos

Atividade IV:

Analise as assinaturas abaixo e identique seus

elementos (nome do mtodo, tipo do valor de retorno, nome


do parmetro e tipo do parmetro).
1
2
3
4
5
6
7

void makeVisible()
void changeSize(int newHeight, int newWidth)
int getXPosition()
void changeColor(String newColor)
void moveDown()
void moveRight()
String getColor()

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Modelando classes
Para modelar uma classe usamos abstrao.
Modelo=Abstrao
Seleciona as caractersticas essenciais de um objeto relativas
perspectiva do usurio.

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Modelando classes

Para representar as classes usaremos um

Ex: Classe

diagrama:

Circle

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Modelando classes

Atividade V:

Considerando as descries (abstraes) dos

objetos a seguir, dena as classes correspondentes. Descreva


suas classes conforme o diagrama apresentado no slide
anterior.
1

Lmpada:

gado.

Porto

este objeto pode estar aceso ou apa-

automtico

de

garagem:

pode estar aberto ou fechado.


3

este objeto

Televisor: este objeto pode estar ligado ou desligado. Quando ligado, permite que o usurio aumente ou reduza o seu volume. Permite tambm
que o usurio troque do canal atual para um subsequente (ou anterior) ou para um especicado pelo
usurio. Ele mostra, ainda, o canal e volumes atuais.

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Modelando classes

Atividade V:

Considerando as descries (abstraes) dos

objetos a seguir, dena as classes correspondentes. Descreva


suas classes conforme o diagrama apresentado no slide anterior
(continuao).

este objeto pode aumentar ou


diminuir a intensidade de uma lmpada. Ele mostra
tambm a intensidade atual.
Lmpada Dimmer:

Carro:
este objeto pode mostrar a quantidade
de combustvel atual no tanque e tambm permite abastecer esse tanque com mais litros de combustvel.

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Modelando classes

Atividade V:

Considerando as descries (abstraes) dos

objetos a seguir, dena as classes correspondentes. Descreva


suas classes conforme o diagrama apresentado no slide anterior
(continuao).

este objeto permite que sejam inseridas moedas em reais (R$). Ele tambm exibe a
quantidade total de moedas inseridas pelo usurio
at o momento. Quando o usurio pressiona o
boto verde, um ticket impresso. Esse ticket contm o tempo de permanncia do veculo correspondente quantidade de moedas que foram inseridas.
Em caso de desistncia, o usurio pode pressionar
o boto vermelho. Nesse caso, as moedas inseridas
por este usurio so devolvidas.
Parqumetro:

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I

Computadores e Programas
Programas e Objetos
Prxima Aula

Leitura

livro Programao Orientada a Objetos com Java: uma


introduo prtica usando o BlueJ - Barnes & Klling

Captulo 1: sees 1.7 e 1.8


Apndice B : Tipos de dados

Professores de ALPRO I - Slvia M.W. Moraes

Algoritmos e Programao I