1
resposta

[DÚVIDA] SOBRESCRITA DE MÉTODOS - POLIMORFISMO

Boa noite,

tenho uma dúvida que é a seguinte:

na aula de polimorfimo, "entendendo polimorfismo" criou-se o método "getBonificaco ()" dentro de classes diferentes (Funcionário, Gerente, EditorVideo) e através da classe "ControleBonificação" este método foi chamado através do objeto mais genérico, que é funcionário, para mostrar que quando um tipo Gerente ou tipo EditorVideo é passado ele usa o metodo especifico de cada objeto.

na aula seguinte "herenaça e contrutores" foi feito a mesma coisa (eu acho!) com as classes "Conta", "ContaCorrente" e "ContaPoupança", porém com o uso da anotação "@Override" para mostrar a sobreescrita de métodos dependendo de qual objeto foi usado para chamar o método "saca".

Porque não foi usada esta anotação na primeira aula também, porque pelo que entendi foi feito a mesma coisa nas duas vezes, não consegui ver diferença entre as duas situações. Poderiam me esclarecer melhor?

Obrigado.

1 resposta

Olá,

acredito que foi por simplificação. O conceito seria apresentado nas aulas posteriores.

A ideia de utilizar a anotação @Override, é garantir que a escrita do método está correta. Com @Override, vc está informando ao compilador que sua intenção é sobreescrever o método herdado na classe superior.

Assim, caso vc anote @Override, mas por engano, defina uma assinatura diferente, com outro tipo de retorno por exemplo, o compilador vai reclamar.