Olá pessoal! Bem estou com duvidas em uma sintaxe que ao meu ver é bem assustadora. rs
Eis a duvida:
se eu tenho o seguinte codigo:
Funcionario f = new Funcionario();
Funcionario a = new Gerente();
Eu entendi o motivo do Funcionario a esquerda da variável a, mas a questão é:
Em meus testes eu percebi que ao chamar métodos com a, como:
a.getBonificacao();
eu tenho o retorno pertencente a classe Gerente, e não a que está em funcinario. Entretanto, só consigo chamar métodos que existam tanto em gerente quanto em funcionario.
Por exemplo, eu criei o método apenas na classe Gerente
public void teste () {
System.out.println("Gerente");
}
E eu não consigo fazer a.teste();
Visto que para chamar métodos em a, mesmo essa variável sendo um Gerente, os métodos precisam existir em sua classe mãe. Estou correto? porque isso ainda parece um pouco confuso para mim.
Contextualizando para galera que não está fazendo o curso Java parte 3, a classe Gerente é uma extensão de Funcionário.
Desde já agradeço pessoal :)