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.
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:
- No polimorfismo, normalmente temos uma classe base/interface (ex.:
Animal) e classes derivadas (ex.:Cachorro,Gato). - Um método com o mesmo nome (ex.:
emitirSom()) pode ser sobrescrito nas subclasses. - Ao chamar
emitirSom()por uma referência do tipoAnimal, o comportamento executado depende do objeto concreto (se éCachorroouGato).
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.