FC ConcursosFC Concursos

Questão FC373241

Considere este trecho de código Java: public class Requerente { protected String nome; protected String processo; protected double divida; public double getAjuste() { return this.d

Linguagens de Programação

FCC · 2022

Considere este trecho de código Java:

 

public class Requerente {

 

protected String nome;

protected String processo;

protected double divida;

 

public double getAjuste() {

return this.divida * 1.10;

}

// ...

}

 

public class RequerenteCorporativo extends Requerente {

int senha;

 

  I  

 

public double getAjuste() {

return this.divida * 1.15;

}

// ...

}

 

Com base no código Java e nos conceitos de orientação a objetos, é correto afirmar:

  1. O método getAjuste() nas duas classes é um exemplo de sobrecarga de métodos.
  2. Para que o método getAjuste() seja herdado da classe Requerente, a lacuna I deve ser preenchida com @Retention.
  3. Para que o método getAjuste() seja herdado da classe Requerente, a lacuna I deve ser preenchida com @Inherited.
  4. Para permitir que o método getAjuste() seja uma sobrecarga do método herdado da classe Requerente, a lacuna I deve ser preenchida com @Override.
  5. Para explicitar que o método getAjuste() é uma sobrescrita do método da classe-mãe Requerente, a lacuna I deve ser preenchida com @Override.
Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

A anotação @Override deve ser colocada imediatamente acima da assinatura do método na subclasse para explicitar que esse método é uma sobrescrita do método da classe-mãe. Ela não altera o comportamento em tempo de execução, mas instrui o compilador a verificar que a assinatura corresponde a um método herdado; se houver erro de digitação ou parâmetros diferentes, o compilador sinaliza o problema, evitando uma sobrecarga acidental.

No exemplo, o método sobrescrito retorna \(this.divida \times 1.15\), substituindo a implementação da classe Requerente para instâncias de RequerenteCorporativo; chamadas via referência da superclasse, por princípio de polimorfismo, executarão a versão sobrescrita.

Use @Override como boa prática: melhora legibilidade e previne erros, e deve ser exatamente esse identificador (case sensitive) posicionado antes da declaração do método.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo