Questão de Engenharia de Software — Orientação a Objetos — VUNESP 2026
Engenharia de Software›Orientação a Objetos
Código
gp044430
Banca
VUNESP
Órgão
UNESP
Ano
2026
Cargo
V - - Analista de Informática I - Área de Atuação: Desenvolvimento de Sistemas - Edital nº 350
No contexto da orientação a objetos, o Princípio da
Segregação de Interface (Interface Segregation Principle)
estabelece:
Aobjetos de uma classe mãe possam substituir objetosde suas subclasses sem afetar a execução correta daaplicação.
Bobjetos de subclasses possam substituir objetos daclasse mãe sem afetar a execução correta da aplicação.
Cdeve-se preferir interfaces pequenas e específicasem vez de uma interface grande e de propósito geral.
Dinterfaces grandes e genéricas devem ser usadasno lugar de interfaces pequenas e específicas, o quesimplifica a organização do código-fonte.
Einterfaces gráficas de usuário (Graphical User
Interfaces) devem ser implementadas com o mínimo
de componentes visuais possíveis, facilitando a
portabilidade do código-fonte.
Revelar gabarito e comentário▾
GabaritoC — deve-se preferir interfaces pequenas e específicas
em vez de uma interface grande e de propósito geral.
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”.
Princípio da Segregação de Interface (ISP)
Gabarito: letra C. O Interface Segregation Principle (ISP) estabelece que clientes não devem ser forçados a depender de interfaces que não usam, ou seja, deve-se preferir interfaces pequenas e específicas a uma interface grande e de propósito geral. Essa é a definição clássica do princípio, formulada por Robert C. Martin e parte do acrônimo SOLID.
O ISP é um dos cinco princípios SOLID de design orientado a objetos, criados para facilitar a compreensão, o desenvolvimento e a manutenção do código. A ideia central é evitar que uma classe seja obrigada a implementar métodos que não utiliza, simplesmente porque sua interface é grande demais. Quando uma interface é "gorda" (fat interface), ela agrega responsabilidades distintas, e qualquer classe que a implemente precisa fornecer implementações para todos os métodos, mesmo aqueles irrelevantes para seu propósito. Isso gera acoplamento desnecessário e viola o princípio da responsabilidade única em nível de interface.
Na prática, o ISP recomenda segregar (dividir) interfaces grandes em interfaces menores e mais coesas, cada uma com um propósito específico. Por exemplo, em vez de uma interface Funcionario com métodos calcularSalario(), baterPonto() e gerarRelatorio(), seria melhor ter interfaces separadas como Remuneravel, Frequencia e Relatoriable. Assim, uma classe Gerente que não bate ponto não precisa implementar baterPonto(). Isso reduz o acoplamento, aumenta a flexibilidade e evita dependências desnecessárias.
A pegadinha clássica da banca é confundir o ISP com o Princípio da Substituição de Liskov (LSP). Enquanto o LSP trata da relação entre classes base e derivadas (substituição transparente), o ISP trata da segregação de interfaces para não forçar dependências indesejadas. As alternativas A e B descrevem exatamente o LSP, e a alternativa D inverte completamente o sentido do ISP, defendendo interfaces grandes e genéricas — o oposto do que o princípio prega. A alternativa E é um distrator que brinca com a palavra "interface" no sentido de interface gráfica de usuário (GUI), que nada tem a ver com o princípio de design de software.
Guarde a fronteira: ISP = interfaces pequenas e específicas; LSP = substituição de objetos de subclasses por objetos da classe mãe. É exatamente nessa distinção que as alternativas se dividem.
Princípios SOLID
1ISP (Segregação de Interface)
Interfaces pequenas e específicas
Clientes não dependem do que não usam
Evita interface "gorda"
2LSP (Substituição de Liskov)
Subclasse substitui classe mãe
Sem afetar a corretude
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Descreve o Princípio da Substituição de Liskov (LSP), não o ISP. O LSP afirma que objetos de uma classe derivada devem poder substituir objetos da classe base sem afetar a corretude do programa. A alternativa inverte a relação: diz que objetos da classe mãe substituem objetos das subclasses, o que também não é a definição do LSP. O erro é duplo: atribui ao ISP um conceito de outro princípio e ainda o formula de maneira incorreta.
Alternativa B — ❌ Incorreta
Esta é a definição correta do Princípio da Substituição de Liskov (LSP): objetos de subclasses devem poder substituir objetos da classe mãe sem afetar a execução correta da aplicação. Porém, o enunciado pede o ISP, não o LSP. A banca troca os princípios para confundir o candidato que não domina a diferença entre eles.
Alternativa C — ✅ Correta ⟵ GABARITO
Esta é a definição exata do Interface Segregation Principle (ISP). O princípio prega que é melhor ter várias interfaces pequenas e específicas do que uma única interface grande e de propósito geral. Isso evita que clientes dependam de métodos que não utilizam, reduzindo o acoplamento e aumentando a coesão. A alternativa espelha perfeitamente o enunciado do princípio: "Clientes não devem ser forçados a depender de interfaces que eles não usam".
Alternativa D — ❌ Incorreta
Inverte completamente o sentido do ISP. O princípio não defende o uso de interfaces grandes e genéricas; pelo contrário, ele as rejeita em favor de interfaces pequenas e específicas. A alternativa apresenta o oposto exato do que o ISP estabelece, provavelmente para testar se o candidato conhece a direção correta do princípio.
Alternativa E — ❌ Incorreta
Brinca com a ambiguidade da palavra "interface". No contexto de orientação a objetos, "interface" refere-se a um contrato de métodos, não a uma interface gráfica de usuário (GUI). O ISP nada tem a ver com componentes visuais ou portabilidade de código. A alternativa é um distrator que explora o significado coloquial da palavra para confundir candidatos desatentos.
NÃO CAIA NESSA!
A banca adora trocar o ISP pelo LSP. Lembre-se: ISP = interfaces pequenas e específicas (segregação de interfaces); LSP = substituição de objetos de subclasses por objetos da classe mãe (substituição de Liskov). As alternativas A e B descrevem o LSP, não o ISP. Com treino, você enxerga essas trocas de longe 💪