Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
de
Programao
Avanada
TCC-00.174
Prof.:
Anselmo
Montenegro
www.ic.u.br/~anselmo
anselmo@ic.u.br
Contedo:
Polimorsmo
Orientao
a
Objetos
Reviso
...
Encapsulamento:
Princpio
pelo
qual
cada
componente
de
um
programa
deve
agregar
toda
a
informao
relevante
para
sua
manipulao
Ocultao
da
Informao:
Princpio
pelo
qual
cada
componente
deve
manter
oculta
sob
sua
guarda
uma
deciso
de
projeto
nica.
Para
a
uFlizao
desse
componente,
apenas
o
mnimo
necessrio
para
sua
operao
deve
ser
revelado
(tornado
pblico).
Pessoa
-
nome:
String
-
idade:
int
Instncias de Aluno
+denirNome(nome:
SFng):
void
Joo
+retornarNome():
String
25
+denirIdade(idade:
int):
void
Sistemas de Informao
+retornarIdade():
int
Maria
20
Aluno
Sistemas de Informao
-
curso:
String
+denirCurso(f:
SFng):
void
+retornarCurso():
String
//SuperClass.java
public
class
SuperClass
{
//
Atributos
e
mtodos
}
//SubClass.java
public
class
SubClass
extends
SuperClass
{
//
Atributos
e
mtodos
}
superclasse
um
um tipo de
subclasse
Polymorsmo
Overloading
Ad
hoc
Coercion
1/10/13
Tcnicas
de
Programao
Avanada
31
Orientao
a
Objetos
Polimorsmo
Ad
Hoc
Vs
Polimorsmo
Universal
uma
melhoria
no
sistema
de
Fpos
introduzida
na
J2SE
5.0
que
permite
um
mtodo
ou
Fpo
operar
em
objeto
de
vrios
Fpos
Permite
segurana
de
Fpos
em
tempo
de
compilao
Adiciona
segurana
de
Fpos
em
tempo
de
compilao
ao
Framework
de
colees
e
elimina
a
necessidade
de
casRng
pilha.push(new Integer(5));
System.out.println(pilha.top());
}
}
lo.add(new Object());
ls.add("string");
List<?> lo = ls;
Object o = lo.get(0);
System.out.println(o.toString());
String s = ls.get(0);
Mtodos
genricos
static <T> T fromArrayToCollection(T[]
for (T o : a) {
a, Collection<T> c) {
}
c.add(o);
Pessoa
Aluno Professor
Exemplo
01
public
static
main(
String[]
args
)
{
Aluno
objetoAluno
=
new
Aluno();
Professor
objectoProfessor
=
new
Professor();
//
Referncia
da
classe
Pessoa
recebe
um
objeto
da
classe
Aluno.
Pessoa
ref
=
objetoAluno;
//
Chamada
para
o
mtodo
getName()
da
classe
Aluno.
ref.getName();
}
Exemplo
02
public
static
main(
String[]
args
){
Aluno
objetoAluno
=
new
Aluno();
Professor
objetoProfessor
=
new
Professor();
printInfo(
objetoAluno
);
printInfo(
objetoProfessor);
}