Informática, perguntado por cojaque2, 8 meses atrás

"Polimorfismo significa várias (poli) formas (morfo). Em Orientação a Objetos, polimorfismo é a capacidade pela qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação, mas que possuem comportamentos distintos".
Adaptado de: JUNIOR, E. A. O.; NOEL, A. A. Programação
I. Maringá: Unicesumar, 2018. Considerando o texto anterior, assinale a alternativa correta.
Alternativas
Alternativa 1: Um método sobrescrito em Java só utiliza polimorfismo se houver antes a anotação "@Override".
Alternativa 2: Nem sempre que há polimorfismo há herança, mas sempre que há herança, há também polimorfismo.
Alternativa 3: Polimorfismo é a capacidade da subclasse de utilizar métodos da superclasse, sem precisar redefini-los.
Alternativa 4: Para sobrescrever um método, a assinatura do método deve ser exatamente a mesma utilizada na superclasse.
Alternativa 5: Em Java, podemos escrever dois métodos com o mesmo nome, desde que possuam parâmetros de entrada diferentes. Isso é chamado de reescrita de métodos.

Soluções para a tarefa

Respondido por andrealvesdeoliveira
18

Resposta:

Alternativa correta 1: Um método sobrescrito em Java só utiliza polimorfismo se houver antes a anotação "@Override".

Explicação:

Em  Java, o conceito de Polimorfismo se manifesta apenas nas chamadas dos métodos. A possibilidade de Polimorfismo se dá pelo fato de que métodos podem ser  sobrescritos pelas subclasses (métodos com o mesmo nome e números de argumentos), ou seja, se o método da superclasse não é suficiente ou não se aplica à  classe filha, ele pode ser escrito novamente tendo um comportamento completamente diferente do da superclasse.

Para que seja implementado o polimorfismo de maneira correta, é necessário que os métodos tenham exatamente a mesma identificação, sendo utilizado o mecanismo de redefinição de métodos, que é o mesmo que sobrescrita  (Override) de métodos em classes derivadas


EstudantexMG: Errado, o @override serve apenas pra evitar alterações no metodo que faz a herança
dumotawh: Acho que está errado. a anotação "@Override" é uma orientação para evitar erros futuros e não obriga a utilização do mesmo, como se caso contrário o código não funcionará.
dumotawh: Acho que a alternativa correta é a 4: Alternativa 4:
"Para sobrescrever um método, a assinatura do método deve ser exatamente a mesma utilizada na superclasse.", mas vou aprofundar mais na pesquisa.
HectorPatrick: alternativa 4 está correta:
Alternativa 4:

Para sobrescrever um método, a assinatura do método deve ser exatamente a mesma utilizada na superclasse.
Respondido por valmirdouradobatista
16

Resposta:

Polimorfismo é a capacidade da subclasse de utilizar métodos da superclasse, sem precisar redefini-los.

Explicação:

A Sobrescrita de Métodos pode ser classificada como polimorfismo de inclusão. Quando um método sobrescreve um método herdado de uma classe, temos uma sobrescrita de método. Este método de sobrescrita tem que ser idêntico ao método da classe herdada, ou seja, eles precisam ter o mesmo nome, valor de retorno e argumentos.


dumotawh: Acho que isso é herança, e não polimorfismo.
Perguntas interessantes