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

ExtraClasse: @Override

Uma ótima tarde, Senhores!

Tenho uma dúvida em relação ao código "@Override".

Quando utilizo o "quick fix" para criar um método obrigatório na classe, o mesmo sempre escreve acima do código o "@Override". Gostaria de saber se ele é necessário nos exemplos que estamos desenvolvendo? É uma boa praticar deixa-lo, ou em alguns casos é interessante apagar?

Exemplo:

public class SeguroDeVida implements Tributavel {

    @Override
    public double calcularTributos() {
        return 42;
    }

}

public class ContaCorrente extends Conta implements Tributavel {

    public void atualiza(double taxa) {
        this.saldo += this.saldo * taxa * 2;
    }

    @Override
    public void saca(double valor) {
        // TODO Auto-generated method stub

    }

    @Override
    public void deposito(double valor) {
        // TODO Auto-generated method stub

    }

    @Override
    public double calcularTributos() {
        return this.getSaldo() * 0.01;
    }

}

Grato.

2 respostas
solução!

Olá Maicon, tudo bem?

A anotação override é muito útil para que informar o compilador que estaamos sobrescrevendo um método da classe pai ou de uma interface.

Se o compilador detectar que não existe tal método para ser sobrescrito, nós teremos um aviso de erro. Por exemplo se tivéssemos escrito:

 @Override
    public void sca(double valor) {
        // TODO Auto-generated method stub

    }

Perceba que mudei o nome para "sca", não existe um método sca para ser sobrescrito, não perceberíamos esse erro se não tivéssemos anotado esse método com @Override

Abs

Grande Rafael, muito obrigado pela explicação.

Abraço.