Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Diferenças durante a instanciação

Não ficou claro pra mim na parte 3 aula 5 a diferença entre : Funcionario nico = new Gerente(); e Gerente nico = new Gerente():

Ambas fazem a mesma coisa ?

1 resposta
solução

Boa tarde, Jhon! Como vai?

Em partes. A forma Gerente nico = new Gerente() cria um objeto do tipo Gerente e faz uma referência chamada nico do tipo Gerente ficar olhando pra esse objeto que foi criado. Já a forma Funcionario nico = new Gerente() também cria um objeto do tipo Gerente mas a referência nico nesse caso que está olhando pro tal objeto é do tipo Funcionario.

Essa segunda forma onde é feito Funcionario nico = new Gerente() é o que chamamos de polimorfismo que nada mais é do que a possibilidade de referenciar um objeto de mais de uma forma. E isso só é possível pois a classe Gerente estende a classe Funcionario!

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!