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 ?
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!