• Matéria: Informática
  • Autor: maiconavhonp7apgm
  • Perguntado 7 anos atrás

Quando uma superclasse define um método, ele pode ser sobrescrito, na maioria dos casos, em suas subclasses, realizando o conceito de polimorfismo. Analise o trecho de código abaixo.

Na superclasse:

public final void calcular() {
// Código de cálculo
}

Na subclasse:

public final void calcular() {
// Código sobrescrito da superclasse
}

Considerando o código acima, assinale a alternativa correta.
Alternativas
Alternativa 1:
O Polimorfismo será executado normalmente.

Alternativa 2:
A diretiva "final" significa que o método "calcular" é o último método da classe.

Alternativa 3:
Será possível a aplicação do "Poliformismo", pois o método "calcular" está assinado corretamente em ambas classes.

Alternativa 4:
Não será possível executar a sobrecarga do método "calcular", pois, para isso, ele deveria ser "protected" e não "public".

Alternativa 5:
Não será possível a aplicação do "Polimorfismo", pois o método "calcular", na superclasse, está assinado com a palavra "final".

Respostas

respondido por: rafaelcabiludo
6

Resposta:

Alternativa 5

Explicação:

Não será possível a aplicação do "Polimorfismo", pois o método "calcular", na superclasse, está assinado com a palavra "final".

Conforme pag 118 do Livro "uma classe final não pode ser superclasse" Eu acho!


anilodantas: cheguei nessa tambem, alternativa 5 .
respondido por: rodrigofcmuller
1

Resposta:

Alternativa 5:

Não será possível a aplicação do "Polimorfismo", pois o método "calcular", na superclasse, está assinado com a palavra "final".

Explicação:

Métodos final não podem ser sobrescritos, ou seja, um método final em uma superclasse (classe pai) não pode ser reimplementado na subclasse (classe filha).

Perguntas similares