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) Polimorfismo 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 (POO), polimorfismo é a ideia de que uma mesma “interface” (por exemplo, um mesmo método) pode estar associada a diferentes implementações, de modo que o comportamento executado depende do tipo real do objeto em tempo de execução (ou do contexto de chamada).
Exemplo conceitual: se várias classes (como Cachorro e Gato) implementam/reescrevem o método fazerSom(), uma variável do tipo mais geral (Animal) pode referenciar qualquer uma delas, e ao chamar fazerSom() o resultado muda conforme o objeto concreto referenciado.
Analisando as alternativas:
- A) fala de formas de instanciar (não é a definição de polimorfismo).
- B) comunicação entre objetos (isso é mais sobre interação/mensagens, não polimorfismo).
- C) compartilhamento de propriedades (não é polimorfismo).
- D) herdar de várias classes lembra herança múltipla, não define polimorfismo.
- E) descreve corretamente: o objeto pode se comportar de maneiras diferentes dependendo do contexto (isto é, da implementação ligada ao tipo concreto).