Mais casting
Sintaxe idêntica à dos tipos básicos
Uma variável declarada com uma classe pode ser reinterpretada (
cast
) como sendo da classe do objecto que contém
Voltemos ao
uso
das classe
Gerente
e
Empregado
...
Seja Empregado misterio = pessoal[1]; // Objecto é Gerente
...misterio.ajudante; // Erro de compilação
...
(Gerente)
misterio.ajudante // funciona
Casting permitirá "rebaldaria"?
Empregado x = pessoal[
QUALQUER
]; // funciona
Gerente patrao = (Gerente)pessoal[0]; ...patrao.ajudante // erro de execução
Casting não transforma objectos, só os "reclassifica"
Pode usar-se
instanceof
para ver possibilidade de efectuar casting
if (misterio
instanceof
Gerente) X=(Gerente)misterio.ajudante;
Comentários:
mc@declarativa.com
Março de 2002