Dúvida muito básica de polimorfismo

3 respostas
M


Object obj = new Revista();

obj. mas não tem os métodos de revista, tem como fazer algo, como um casting?

3 Respostas

E

É claro que tem.

Mas obviamente você precisa saber, de alguma forma, que o tal objeto realmente é da classe Revista, senão você vai tomar uma ClassCastException na cara.

Cuidado, dona Maria - cast (no caso de objetos) não converte nada, ele só testa para ver se o objeto realmente é de uma classe que estende ou implementa o tipo indicado.

Luiz_Aguiar
((Revista)obj).lerRevista();
Mordor

Eu faria assim para garantir o cast do objeto.

Revista r;
if (obj instanceof Revista) {
    r = (Revista) obj;
}
Criado 15 de janeiro de 2013
Ultima resposta 15 de jan. de 2013
Respostas 3
Participantes 4