Qual é a definição correta de polimorfismo na programação orientada a objetos?

Questão

Qual é a definição correta de polimorfismo na programação orientada a objetos?

Alternativas

A) Polimorfismo refere-se à capacidade de um objeto ser instanciado de várias maneiras diferentes.

B) Polimorfismo refere-se à capacidade de um objeto se comunicar com outros objetos.

C) Polimorfismo refere-se à capacidade de um objeto compartilhar suas propriedades com outros objetos.

D) Alternativa da questão BPolimorfismo refere-se à capacidade de um objeto herdar características de várias classes diferentes.

Resposta certa

E) Polimorfismo refere-se à capacidade de um objeto se comportar de maneiras diferentes dependendo do contexto.

Explicação

Em Programação Orientada a Objetos, polimorfismo é a ideia de que a mesma interface/assinatura de método (por exemplo, chamar area() ou falar()) pode resultar em comportamentos diferentes, dependendo do tipo real do objeto.

Passo a passo:

  1. No polimorfismo, normalmente temos uma classe base/interface (ex.: Animal) e classes derivadas (ex.: Cachorro, Gato).
  2. Um método com o mesmo nome (ex.: emitirSom()) pode ser sobrescrito nas subclasses.
  3. Ao chamar emitirSom() por uma referência do tipo Animal, o comportamento executado depende do objeto concreto (se é Cachorro ou Gato).

Analisando as alternativas:

  • A fala de “instanciar de várias maneiras” → não define polimorfismo.
  • B fala de comunicação entre objetos → isso é interação/mensagens, não polimorfismo.
  • C fala de compartilhar propriedades → remete mais a herança/encapsulamento, não polimorfismo.
  • D fala em herdar de várias classes → isso é herança múltipla (nem é suportada em várias linguagens como Java para classes), e não é a definição de polimorfismo.
  • E descreve corretamente: comportar-se de maneiras diferentes conforme o contexto/tipo do objeto.
Carregando…

Questões relacionadas

Ver últimas questões