Orientação a Objetos – Conceitos Fundamentais
Gabarito: letra C. O polimorfismo é exatamente a capacidade de um objeto de uma classe derivada assumir diferentes formas ou comportamentos, respondendo à mesma mensagem de maneiras distintas. É um dos pilares da programação orientada a objetos, ao lado da herança e do encapsulamento.
A questão cobra a definição clássica de polimorfismo. O conteúdo de apoio define: "O termo polimorfismo é originário do grego e significa 'muitas formas'. Na POO, uma das características do polimorfismo é permitir que referências de tipos de classes mais abstratas (superclasses) representem o comportamento das classes concretas (subclasses) que referenciam."
Alternativa A — ❌ Incorreta
Encapsulamento refere-se ao mecanismo de esconder os detalhes internos de um objeto, restringindo o acesso direto aos seus atributos e métodos. Não se trata de assumir diferentes formas.
Alternativa B — ❌ Incorreta
Herança é o mecanismo pelo qual uma classe derivada (subclasse) herda atributos e métodos de uma classe base (superclasse). É a base para o polimorfismo, mas não é o conceito descrito.
Alternativa C — ✅ Correta ⟵ GABARITO
Polimorfismo, do grego "muitas formas", é a capacidade de um objeto responder a uma mesma mensagem (chamada de método) de maneiras diferentes, dependendo de sua classe concreta. É exatamente o que o enunciado descreve.
Alternativa D — ❌ Incorreta
Coesão é uma medida de quão fortemente relacionados e focados são os elementos de um módulo ou classe. Não está relacionada à capacidade de assumir diferentes formas.
Alternativa E — ❌ Incorreta
Acoplamento é o grau de interdependência entre módulos ou classes. Baixo acoplamento é desejável, mas não é o conceito de polimorfismo.
Gabarito: letra C.