Questão de Engenharia de Software — Desenvolvimento de Software — FGV 2025
- Código
- fg115294
- Banca
- FGV
- Órgão
- MPU
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista do - Desenvolvimento de Sistemas
- AS;
- BO;
- CL;
- DI;
- ED.
GabaritoC — L;
Gabarito: letra C. A descrição no enunciado — "se uma propriedade q(x) for demonstrável para todos os objetos x do tipo T, então ela também deve ser demonstrável para todos os objetos y do tipo S, onde S é um subtipo de T" — é a definição exata do Princípio da Substituição de Liskov (LSP). Esse é o "L" do acrônimo SOLID, que estabelece que subtipos devem ser substituíveis por seus tipos base sem alterar a corretude do programa.
A questão testa o conhecimento direto do significado de cada letra do SOLID. Veja cada alternativa:
O "S" corresponde ao Princípio da Responsabilidade Única (Single Responsibility Principle), que diz que uma classe deve ter apenas um motivo para mudar. Não se relaciona com substituição de subtipos.
O "O" é o Princípio do Aberto-Fechado (Open/Closed Principle), que afirma que entidades devem ser abertas para extensão, mas fechadas para modificação. Também não é o descrito.
Conforme explicado, o "L" é o LSP – Liskov Substitution Principle. A definição do enunciado é a própria redação clássica do princípio (Barbara Liskov, 1987).
O "I" é o Princípio da Segregação de Interfaces (Interface Segregation Principle), que preconiza que interfaces específicas são melhores que uma interface geral. Nada a ver com substituição.
O "D" é o Princípio da Inversão da Dependência (Dependency Inversion Principle), que estabelece que módulos de alto nível não devem depender de módulos de baixo nível; ambos devem depender de abstrações. Não é o caso.
Para memorizar o SOLID, associe cada letra ao seu conceito-chave: Single responsabilidade, Open/closed, Liskov substituição, Interface segregação, Dependency inversão. O LSP é o que mais exige atenção em herança: pergunte-se sempre "um objeto da subclasse pode substituir o da superclasse sem quebrar o comportamento esperado?".
Link permanente: /questoes/fg115294