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 ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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 ?
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!