You are on page 1of 4

02/05/2012

1
Universidade Presbiteriana Mackenzie
Faculdade de Computao e Informtica
Generalizao entre Classes
Prof. Calebe de Paula Bianchini
calebe.bianchini@mackenzie.br
Generalizao
Recordando
O programa ser implementado de forma organizada
para que haja colees de objetos, cada um deles
representando uma instncia de alguma classe, as
quais estaro relacionadas de alguma forma
Relacionamentos
Associao
Generalizao
Generalizao Generalizao
Tambm chamado de Herana!
Relaciona o item mais geral com o especfico
Superclasse ou classe-me
Subclasse ou classe-filha
Importante
Toda Generalizao pode ser lido como -um
Do ingls is-a
Generalizao
Todas as caractersticas e operaes da classe
mo so herdadas para a classe filha
A classe filha ainda pode sobrescrever
comportamentos
Polimorfismo
Todo objeto em Java j tem herana
Classe Object
Hierarquia de Classes
Generalizao
id10618364 pdfMachine by Broadgun Software - a great PDF writer! - a great PDF creator! - http://www.pdfmachine.com http://www.broadgun.com
02/05/2012
2
Generalizao Generalizao
v
L
ig
a
r
B
re
c
a
r
D
e
slig
a
r A
c
e
le
ra
r
B
re
c
a
r
D
e
s
l i g
a
r
A
c
e
le
ra
r
A
b
r i r
u
v
B
re
c
a
r
D
e
s
l i g
a
r
A
c
e
le
ra
r
A
b
r i r
Generalizao
Classes filhas podem ser utilizadas no lugar das
classes me
Polimorfismo
Porm, os mtodos disponveis so somente os
oferecidos pela classe me
Como saber a diferena entre as classes filhas
Utilitrio e Popular?
No se sabe, portanto no aparece suas operaes (apenas
da classe-me)
Generalizao
Sobrescrita de mtodos
Polimorfismo
Exemplo: toString()
Representao das informaes do objeto no
formato String
Reescrever seu comportamento para funcionar com
Automvel
Generalizao
Sobrescrita do mtodo
toString: returns a string
representation of the
object.
Generalizao
v
Ligar
B
recar
D
esligar Acelerar
o
null
O toString automtico!
02/05/2012
3
Generalizao
possvel fazer a sobrescrita do toString() em
todas as classes da hierarquia
O Object j tem o padro (1435@Classe)
No Automvel, foi reescrito
No Utilitrio, tambm pode ser reescrito
...
Generalizao
Recupera o toString da classe-me
Coloca os novos dados
Generalizao
Palavras especiais
super: aciona atributos/mtodos da classe me
this: aciona atributos/mtodos da classe vigente
(local)
Generalizao
Acesso entre classes me/filhas, e no ao
publico geral
Quais os tipos de acesso?
public: acesso completo smbolo +
private: nenhum acesso smbolo
Particular herana
protected: acesso parcial (classes filhas acessam atributos
da classe me) smbolo #
Toda classe que participa de herana deve ter
seus atributos protected
Existem excees
Generalizao
Universidade Presbiteriana Mackenzie
Faculdade de Computao e Informtica
Dvidas?
Prof. Calebe de Paula Bianchini
calebe.bianchini@mackenzie.br
02/05/2012
4
Exerccio 01
Clculo do valor do ingresso de acordo com o
tipo da pessoa
Faa o programa principal
Idoso tem 50% de desconto
Criana at 5 anos
tem 80% de
desconto
Maiores de 5 so
considerados
adultos
Exerccio 02
Estude como funcionaria o armazenamento de
objetos de classes-filhas em um vetor definido
como sendo da classe-me
Lembre-se do polimorfismo
Exerccio 03
Usando as classes do Exerccio 01
Construa um programa que simule uma Casa de Espetculo
Essa casa vende ingressos para Pessoas, Crianas e Idosos
Portanto, precisa cadastrar esses tipos de pessoas
Armazene os objetos em um nico vetor
Aps a venda, imprima um relatrio com os dados de cada
pessoa e quanto ela pagou
Lembre-se de utilizar o toString()
Voc pode construir um Menu de Opes!
Aproveite o Polimorfismo!
Utilize o diagrama
UML para construir sua
aplicao
Faa tambm o main()
O consumo() calculado
em funo dos
atributos existente
nas classes
Exerccio 04

You might also like