Pessoal, meu primeiro post \O/
(OBS: lol com O maiúsculo pq eu sou cabeçudo…)
1º pergunta:
class A {
void façaAlgo() {
Gritador meuGritador;
if(...) {
meuGritador = new Humano();
} else {
meuGritador = new Macaco();
}
meuGritador.grita(); // chamada polimórfica
}
}É possível declarar meuGritador como Gritador e instanciar meuGritador como Humano ou Macaco?
Este código eu peguei deste endereço: http://walfredo.lsd.ufcg.edu.br/cursos/2004/progII20041/aulas/o_que_e_polimorfismo.htm
[quote=maue]É possível declarar meuGritador como Gritador e instanciar meuGritador como Humano ou Macaco?
[/quote]
Sim
[quote]
Polimorfismo em Java só ocorre usando classes abstratas (com o modificador abstract)?
estou me baseando na Wikipédia: http://pt.wikipedia.org/wiki/Polimorfismo[/quote]
Polimorfismo é um conceito mais abrangente do que apenas variáveis polimorficas. Variáveis polimorficas são um
tipo de polimorfismo e provavelmente o mais conhecido, mas existem outros como sobrecarga , auto-boxing e
sombreamento.
O polimorfismo ligado a herança só existe em linguagens OO, mas outros tipos de polimorfismo podem ser encontrados em outras linguagens como a sobrecarga, por exemplo.