Geral Múltipla Escolha

Dentro do contexto de linguagens de programação e de orientação a objetos, o conceito de polimorfismo descreve meios em que classes abstratas e concretas podem se relacionar. Assinale a alternativa que conceitua corretamente polimorfismo.

Dentro do contexto de linguagens de programação e de orientação a objetos, o conceito de polimorfismo descreve meios em que classes abstratas e concretas podem se relacionar. Assinale a alternativa que conceitua corretamente polimorfismo.

  1. polimorfismo universal paramétrico, em que a conversão de tipos sobre os parâmetros de uma função só é implícita.
  2. Linguagens de programação que implementem o conceito de herança também precisam implementar o conceito de polimorfismo por construção.
  3. A implementação de polimorfismo em linguagens de programação se vale do conceito de ligação tardia, em que o tipo de uma variável só é conhecido em tempo de execução. Isso significa que linguagens compiladas não possuem polimorfismo na forma estrita.
  4. Polimorfismo representa um conceito em que um mesmo nome (como uma variável, por exemplo) pode denotar objetos de diferentes classes que estão relacionadas por uma superclasse comum.
  5. Linguagens de programação que não possuem tipo, como, por exemplo, Python não podem implementar polimorfismo.

Resolução completa

Explicação passo a passo

D
Alternativa D

Resolução da Questão

Alternativa D - Polimorfismo representa um conceito em que um mesmo nome (como uma variável, por exemplo) pode denotar objetos de diferentes classes que estão relacionadas por uma superclasse comum.

Introdução ao Conceito

O polimorfismo é um dos quatro pilares fundamentais da Orientação a Objetos (Junto com Encapsulamento, Herança e Abstração). O termo vem do grego, onde "poly" significa muitos e "morph" significa formas.

Em termos simples, ele permite que objetos de classes diferentes sejam tratados de maneira uniforme através de uma interface comum.

## Análise Detalhada

Vamos examinar cada alternativa para entender o raciocínio:

  • Alternativa A (Incorreta): Descreve um tipo específico de polimorfismo (paramétrico) e foca em conversão de tipos genéricos. Embora existam esses mecanismos, essa não é a definição geral do polimorfismo em Orientação a Objetos clássica (subtipagem).
  • Alternativa B (Incorreta): A herança é um mecanismo que facilita o polimorfismo, mas não o exige obrigatoriamente por "construção". Você pode ter uma hierarquia de classes herdadas sem nunca redefinir (override) métodos para mudar o comportamento.
  • Alternativa C (Incorreta): Linguagens compiladas, como C++, Java e C#, possuem polimorfismo sim. Elas utilizam mecanismos como ponteiros para funções virtuais para realizar a "ligação tardia" (binding), permitindo que o código decida qual método executar durante a execução (runtime).
  • Alternativa D (Correta): Esta é a definição clássica do polimorfismo de subtipos.
  • Imagine uma variável chamada animal do tipo Animal.
  • Essa mesma variável pode apontar para um objeto Cachorro ou Gato (classes filhas).
  • Quando chamamos animal.falar(), o sistema sabe exatamente qual implementação usar baseada na classe real do objeto (Cachorro latindo ou Gato miando).
  • Alternativa E (Incorreta): Linguagens dinâmicas como Python, Ruby e JavaScript são famosas justamente por sua implementação robusta de polimorfismo, muitas vezes utilizando conceitos como "Duck Typing" (se anda como pato e pia como pato, é um pato), onde os tipos são verificados menos rigidamente, mas o polimorfismo existe plenamente.

Resumo da Lógica

CaracterísticaExplicação
DefiniçãoCapacidade de tratar objetos de classes distintas de forma uniforme.
MecanismoGeralmente envolve uma Superclasse e subclasses que redefinem métodos.
BenefícioPermite escrever código mais flexível e escalável (princípio de substituição de Liskov).

A alternativa D captura perfeitamente essa ideia de uma variável única manipulando objetos de diferentes classes derivadas de um ancestral comum.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Geral

Ver mais Geral resolvidas

Tem outra questão de Geral?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.