Pular para o conteúdo principal

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

Engenharia de SoftwareOrientação a Objetos
Código
fc024426
Banca
FCC
Órgão
TRT - 15ª Região (SP)
Ano
2015
Nível
Superior
Cargo
Analista Judiciário – Tecnologia da Informação
A herança é uma das características mais poderosas e importantes da orientação a objetos, pois permite o reaproveitamento de atributos e métodos. Em aplicações que utilizam herança,
  1. Anão é possível sobrescrever em uma subclasse, um método de sua superclasse.
  2. Bcada superclasse pode ter apenas uma subclasse.
  3. Csomente as superclasses poderão ter métodos ou construtores sobrecarregados.
  4. Dé possível se obter polimorfismo.
  5. Eé possível a implementação de herança múltipla, em todas as linguagens orientadas a objetos.
Revelar gabarito e comentário

GabaritoD — é possível se obter polimorfismo.

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”.

Herança e Polimorfismo em Orientação a Objetos

Gabarito: letra D. Herança possibilita o polimorfismo, pois subclasses podem ser tratadas como superclasses e métodos sobrescritos podem ter comportamentos distintos, permitindo que uma mesma operação se comporte de formas diferentes (conceito clássico de polimorfismo por inclusão). As demais alternativas contradizem princípios fundamentais da orientação a objetos.

O enunciado testa o conhecimento sobre as relações entre herança, sobrescrita, sobrecarga, polimorfismo e herança múltipla. A herança permite o reaproveitamento de código e é base para o polimorfismo.

Alternativa A — ❌ Incorreta

Afirma que não é possível sobrescrever um método da superclasse. Isso é falso: a sobrescrita (overriding) é exatamente a redefinição de um método herdado na subclasse, mantendo a mesma assinatura. É um mecanismo essencial para o polimorfismo.

Alternativa B — ❌ Incorreta

Afirma que cada superclasse pode ter apenas uma subclasse. Na verdade, uma superclasse pode ter múltiplas subclasses, formando uma hierarquia. Não há restrição de uma única subclasse.

Alternativa C — ❌ Incorreta

Afirma que apenas superclasses podem ter métodos ou construtores sobrecarregados. A sobrecarga (overloading) é a definição de múltiplos métodos com o mesmo nome e parâmetros diferentes na mesma classe. Pode ocorrer em qualquer classe, inclusive subclasses.

Alternativa D — ✅ Correta ⟵ GABARITO

A herança é um dos meios para se obter polimorfismo. Por meio dela, subclasses podem ser referenciadas como objetos da superclasse (upcasting) e métodos sobrescritos podem ser invocados de forma polimórfica, com comportamento definido em tempo de execução. O polimorfismo é um dos pilares da orientação a objetos, diretamente ligado à herança.

Alternativa E — ❌ Incorreta

Afirma que todas as linguagens orientadas a objetos implementam herança múltipla. Isso não é verdade: linguagens como Java e C# não permitem herança múltipla de classes (apenas de interfaces), enquanto C++ a suporta. Portanto, não é uma característica universal.

NÃO CAIA NESSA!

A banca utiliza uma generalização indevida na alternativa E: "em todas as linguagens orientadas a objetos". Muitos candidatos podem assumir que herança múltipla é sempre possível, mas na prática linguagens populares como Java e C# a restringem. Fique atento a afirmações absolutas como "sempre", "nunca", "todas".

Gabarito: letra D — herança permite polimorfismo.

Link permanente: /questoes/fc024426