Na Programação Orientada a Objetos, a alteração do funciona...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a D - polimorfismo.
O polimorfismo é um conceito fundamental na programação orientada a objetos (POO) que permite que objetos de diferentes classes sejam tratados como objetos de uma classe comum. Em particular, o polimorfismo se manifesta quando temos uma classe derivada (ou subclasse) que herda de uma classe base (ou superclasse) e altera o comportamento de um ou mais métodos herdados. Isso é comumente realizado por meio da substituição de métodos (também conhecido como method overriding), onde a subclasse implementa uma nova versão do método herdado. Enquanto a herança é o mecanismo pelo qual a subclasse obtém os métodos da superclasse, o polimorfismo é o que permite a diversificação de comportamentos entre os diferentes objetos.
Para entender por que as outras alternativas estão incorretas, é útil revisar brevemente cada conceito:
- Encapsulamento é a prática de esconder os detalhes internos da implementação de uma classe e expor apenas uma interface segura para o mundo exterior.
- Abstração refere-se ao processo de esconder a complexidade real e mostrar apenas a funcionalidade necessária, muitas vezes por meio da definição de classes abstratas ou interfaces.
- Herança é um mecanismo pelo qual uma nova classe é criada a partir de uma classe existente, herdando atributos e métodos, facilitando o reuso de código.
Em resumo, o polimorfismo é o conceito que mais se alinha com a descrição do enunciado, que é a capacidade de um método alterar seu comportamento em uma subclasse, mantendo a mesma assinatura da superclasse. É por isso que a alternativa D está correta.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Polimorfismo.
É um recurso dentro dos paradigmas da orientação a objetos, um recurso é utilizado para indicar a capacidade de abstrair várias implementações diferentes em uma única interface. Nesse caso, um objeto pode enviar a mesma mensagem para objetos semelhantes, mas que implementam a sua interface de formas diferentes.
Existem dois tipos de Polimorfismo:
Polimorfismo estático: Basicamente significa varios metodos com mesmo nome mas com parametros distintos (overloading)
Polimorfismo dinâmico: Criação de subclasses (Herança) que determina o comportamento do metodo. (overriding)
É caso de polimorfismo em sua variante dinâmica.
Polimorfismo Dinâmico: Esta associado com o conceito de herança e ocorre quando uma subclasse redefine um método existente na superclasse. Dizemos neste caso que o método foi sobreescrito (overriding) na subclasse. A decisão de qual método executar é tomada somente em tempo de execução, como veremos mais adiante.
Fonte: https://www.devmedia.com.br/orientacao-a-objetos-parte-ii/7161
Amigos,
Qual é a diferença entre essa questão e a Q856071, que diz :
"Um método em uma superclasse pode ser sobrescrito nas subclasses de uma relação de herança. "
Não entendi o porque lá foi herança e aqui foi polimorfismo.
Obrigado!
mateus cruz,
As questões apresentam questionamentos distintos:
Q856071 - Na programação orientada a objetos são utilizados classes e métodos. Um método
A questão quer saber se o metodo, PODE ser sobrescrito:
b) em uma superclasse pode ser sobrescrito nas subclasses de uma relação de herança.
Já está questão quer saber qual o nome se dá para este ato.
Poliformismo dinâmico, com bem explico o Rodrigo.
Espero ter ajudado.
d-
polimorfismo. - é o princípio pelo qual duas ou mais classes, derivadas de uma mesma superclasse, podem invocar métodos que têm a mesma identificação mas comportamentos distintos.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo