Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Quando é útil utilizar a referência genérica?

Para testar a função de registrar funcionário o professor instanciou o seguinte objeto:

Gerente g1 = new Gerente();

Para o método registra:

public void registra(Funcionario f) {
            double boni = f.getBonificacao();
            this.soma = this.soma + boni;
        }

Ao executar essa função, mesmo com o parâmetro sendo do tipo Funcionario, ou seja, do tipo genérico, mesmo assim funcionou. Então, se mesmo sem que a referência do objeto seja genérica, o java entendeu e chamou o método especifico, em que situação, criar um objeto com referência genérica seria útil? Ex:

Funcionario g1 = new Gerente();
2 respostas
solução!

Oie Vinicius, tudo bem contigo?

A resposta é depende, alguns programadores quando não existe necessidade de se utilizar os métodos e atributos exclusivos da classe filha, optam por instanciar de maneira genérica, desse jeito trabalhando apenas com os métodos da super classe. De resto, na maioria das vezes realmente serão raro os momentos onde você vai ser obrigado a instanciar de forma genérica, mas eles existem, por isso é importante saber como fazer. Um exemplo que posso te dar é que em aplicações mais complexas, pode acontecer de chegar em uma situação onde você não sabe qual classe chegará para ser instanciada, você só sabe que elas serão filhas de uma super classe, e nessa situação você coloca para instanciar com o tipo genérico, pois dessa forma todas as classes que chegarem serão instanciadas.

Espero que tenha conseguido esclarecer sua dúvida, se não, pode enviar mensagem por aqui que irei te ajudar :)

Bons estudos!

Oi Igor, tudo certo, obrigado.

Obrigado pela explicação, com certeza tirou a dúvida que eu tinha.

Sucesso.