Pular para o conteúdo principal

Questão de Engenharia de Software — Orientação a Objetos — FGV 2026

Engenharia de SoftwareOrientação a Objetos
Código
fg131888
Banca
FGV
Órgão
PC-PI
Ano
2026
Nível
Superior
Cargo
Perito Criminal - Informática Forense
Durante uma análise de código para um sistema bancário, o perito identificou um problema de projeto conhecido como “Fragile Base Class Problem”, típico em hierarquias de herança.Esse problema geralmente ocorre quando
  1. Ase tenta sobrescrever métodos privados.
  2. Buma modificação na superclasse afeta negativamente o comportamento de subclasses existentes.
  3. Cuma interface é implementada sem exploração de polimorfismo.
  4. Dse tenta herdar de uma classe marcada como final.
  5. Eo coletor de lixo remove objetos derivados antes dos objetos base.
Revelar gabarito e comentário

GabaritoB — uma modificação na superclasse afeta negativamente o comportamento de subclasses existentes.

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

Fragile Base Class Problem

Gabarito: letra B. O Fragile Base Class Problem (Problema da Classe Base Frágil) é um problema clássico em hierarquias de herança, que ocorre quando uma modificação na superclasse (classe base) provoca efeitos colaterais indesejados nas subclasses, quebrando seu comportamento esperado. Esse é exatamente o cenário descrito na alternativa B.

A questão testa o conhecimento sobre um dos problemas mais conhecidos da herança em programação orientada a objetos.

Alternativa A — ❌ Incorreta

Tentar sobrescrever métodos privados não é possível (métodos privados não são visíveis para subclasses). Isso não caracteriza o Fragile Base Class Problem, que envolve modificações na superclasse afetando subclasses.

Alternativa B — ✅ Correta ⟵ GABARITO

Conforme definição clássica, o Fragile Base Class Problem ocorre quando alterações na superclasse (como adição de métodos, mudança de implementação, etc.) impactam negativamente o funcionamento de subclasses existentes, frequentemente de forma imprevista.

Alternativa C — ❌ Incorreta

Implementar uma interface sem explorar polimorfismo é uma prática inadequada, mas não é o problema da classe base frágil. O polimorfismo é um conceito relacionado, mas a questão específica é sobre herança.

Alternativa D — ❌ Incorreta

Herdar de uma classe final (marcada como final ou sealed) gera erro de compilação, mas não é o Fragile Base Class Problem. O problema ocorre justamente quando é permitido herdar.

Alternativa E — ❌ Incorreta

O coletor de lixo gerencia memória, removendo objetos inalcançáveis. A ordem de remoção não causa o Fragile Base Class Problem, que é um problema de design, não de gerenciamento de memória.

Gabarito: letra B.

Link permanente: /questoes/fg131888