Questão de Engenharia de Software — Orientação a Objetos — FCC 2025
Engenharia de Software›Orientação a Objetos
Código
fc074042
Banca
FCC
Órgão
TRF - 4ª REGIÃO
Ano
2025
Nível
Superior
Cargo
Analista Judiciário - Área Apoio Especializado - Especialidade: Análise de Sistemas de Informação
Considere o exemplo abaixo, relacionado ao sistema de tramitação processual em um tribunal:interface ServidorJudiciario (void analisarProcesso();void realizarAudiencia();)class AnalistaTI implements ServidorJudiciario ( )Segundo o Princípio da Segregação de Interface (ISP), pertencente ao conjunto de princípios SOLID, esse código apresenta um problema de design, já que a classe AnalistaTI é obrigada a implementar o método realizarAudiencia(), mesmo que esse comportamento não se aplique a sua função, que é técnica e não jurisdicional. Para corrigir essa violação ao ISP, a abordagem mais adequada é
Aremover o método realizaraudiencia() da interface ServidorJudiciario, criando interfaces separadas para responsabilidades distintas, pois nenhum cliente deve ser forçado a depender de métodos que não utiliza.
Bmanter a interface ServidorJudiciario como está, mas implementar o método realizarAudiencia() na classe AnalistaTI com um corpo vazio, garantindo compatibilidade com a interface.
Ctornar o método realizaraudiencia() um método default com implementação vazia na interface, permitindo que AnalistaTI não precise sobrescrevê-lo.
Dsubstituir a interface ServidorJudiciario por uma classe abstrata que implemente analisarProcesso() e realizarAudiencia()com comportamento genérico, permitindo que AnalistaTI herde dela.
Eimplementar uma exceção no método realizarAudiencia() da classe AnalistaTI, langando UnsupportedOperationException sempre que ele for chamado.
Revelar gabarito e comentário▾
GabaritoA — remover o método realizaraudiencia() da interface ServidorJudiciario, criando interfaces separadas para responsabilidades distintas, pois nenhum cliente deve ser forçado a depender de métodos que não utiliza.
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 A. O caso descrito viola o ISP, que determina que nenhum cliente deve ser forçado a depender de métodos que não utiliza — exatamente o que ocorre quando AnalistaTI (cliente) implementa realizarAudiencia() sem necessidade. A solução correta é segregar a interface, criando interfaces mais específicas, evitando que uma classe precise implementar métodos irrelevantes.
A) ✅ Correta ⟵ GABARITO
Remove o método realizarAudiencia() da interface ServidorJudiciario e cria interfaces separadas para responsabilidades distintas. Isso atende ao ISP: as classes passam a implementar apenas os métodos que lhes são pertinentes, evitando dependências desnecessárias.
B) ❌ Incorreta
Implementar o método com corpo vazio é uma gambiarra que apenas disfarça o problema. A classe ainda depende de um método que não usa, violando o espírito do ISP. Além disso, pode causar confusão e comportamento inesperado.
C) ❌ Incorreta
Usar um método default com implementação vazia não resolve a violação: a interface continua obrigando a classe a ter o método (mesmo que não precise sobrescrevê-lo), e a dependência permanece. A classe ainda depende de uma interface que possui métodos que não utiliza.
D) ❌ Incorreta
Substituir a interface por uma classe abstrata mantém o problema de herdar um método desnecessário. Além disso, o uso de herança para esse fim gera acoplamento maior e reduz a flexibilidade, contrariando o princípio.
E) ❌ Incorreta
Lançar UnsupportedOperationException é um paliativo que apenas sinaliza o erro em tempo de execução, sem corrigir a falha de design. A classe ainda implementa uma interface inadequada, e o ISP continua sendo violado.
PEGA ESSA DICA!
Lembre-se da máxima do ISP: "clientes não devem ser forçados a depender de interfaces que não usam". Sempre que perceber uma classe implementando métodos com corpo vazio ou que lançam exceção, desconfie — é sinal de que a interface pode estar muito genérica.