Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Porque este exemplo é uma conversão explícita?

Em

Animal animal = new Gato()

O tipo da variável animal é Gato, pois houve uma conversão implícita entre classe base/ classe filha como visto na aula passada. Logo em

Gato gato = animal

Ambos tipos são o mesmo, e essa linha nem se trataria de uma conversão, mas uma atribuição de duas variáveis com mesmo tipo, não?

1 resposta
solução!

Olá Igor, como vai?

Na verdade a variável é do tipo Animal. Por mais que estamos dizendo para o código que esse Animal será uma new Gato, o tipo dele continua sendo Animal.

Tanto que o próprio navegador mostra um erro sobre não ser possível converter implicitamente. Veja:

Imagem exibindo que o treco do código Animal animal = new Gato, não pode ser convertido implicitamente em Gato como apresentado no curso

Espero ter ajudado. Qualquer dúvida estamos por aqui.

Abraços