Pular para o conteúdo principal

Questão de Engenharia de Software — Orientação a Objetos — FCC 2019

Engenharia de SoftwareOrientação a Objetos
Código
fc057623
Banca
FCC
Órgão
TRF - 3ª REGIÃO
Ano
2019
Cargo
Analista Judiciário - Informática
O Polimorfismo, um dos Pilares da Programação Orientada a Objetos - POO,
  1. Aocorre quando uma classe tem um relacionamento do tipo “1 para” com outra classe e isso implica no modo como a definição das classes devem ocorrer nas aplicações.
  2. Bconsiste em esconder os atributos da classe de quem for utilizá-la. Isso se deve a: 1 - para quem for usar a classe não a use de forma errada; e 2 - para que implementação seja feita por meio dos métodos get e set.
  3. Cpermite que um mesmo método possa ter vários comportamentos e a definição de qual comportamento será executado se dá pelo valor diferente de um de seus atributos.
  4. Dé um conceito que permite que as características bem como as operações, de um modo global, possam ser repassadas para várias funcionalidades da aplicação.
  5. Epermite utilizar atributos e operações diferentes de uma subclasse, acrescentando ou substituindo características herdadas da classe pai.
Revelar gabarito e comentário

GabaritoC — permite que um mesmo método possa ter vários comportamentos e a definição de qual comportamento será executado se dá pelo valor diferente de um de seus atributos.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Polimorfismo na Programação Orientada a Objetos

Gabarito: letra C. O polimorfismo permite que um mesmo método tenha comportamentos distintos, e a definição de qual comportamento será executado depende do tipo do objeto em tempo de execução (no caso de sobrescrita/override) ou dos parâmetros em tempo de compilação (no caso de sobrecarga/overload). A alternativa C, embora mencione de forma imprecisa "valor diferente de um de seus atributos", é a que melhor se alinha com o conceito central entre as opções.

A banca testa a compreensão do termo "polimorfismo" (muitas formas), diferenciando-o de encapsulamento, herança e relacionamentos entre classes. O material de apoio define polimorfismo como a capacidade de uma subclasse ser referenciada como sua superclasse e de classes derivadas terem métodos de mesma assinatura com comportamentos diferentes.

Alternativa A — ❌ Incorreta

Descreve um relacionamento de cardinalidade ("1 para"), típico de associação entre classes, e não polimorfismo. O polimorfismo não está ligado à multiplicidade de relacionamentos.

Alternativa B — ❌ Incorreta

Define encapsulamento: esconder atributos e prover acesso por métodos get/set. Isso é outro pilar da POO, distinto do polimorfismo.

Alternativa C — ✅ Correta (⟵ GABARITO)

Afirma que um mesmo método pode ter vários comportamentos e que a definição depende de um valor (na verdade, do tipo do objeto ou dos parâmetros). Embora a redação não seja tecnicamente perfeita, é a única que aborda a essência do polimorfismo: um método com múltiplas implementações.

Alternativa D — ❌ Incorreta

Refere-se a herança ou reuso, mas de forma genérica ("características e operações repassadas"). Não captura o significado de polimorfismo.

Alternativa E — ❌ Incorreta

Descreve a capacidade de uma subclasse utilizar atributos/operações diferentes, acrescentando ou substituindo os herdados. Isso é herança com sobrescrita, mas não define polimorfismo em si.

PEGA ESSA DICA!

Na prova, lembre-se: polimorfismo = "muitas formas" → mesmo nome de método, comportamentos diferentes. Associe a overriding (tempo de execução) e overloading (tempo de compilação). Encapsulamento esconde, herança reusa, polimorfismo varia.

Gabarito: letra C.

Link permanente: /questoes/fc057623