FCC — Analista Judiciário - Área Apoio Especializado - Especialidade: Análise de Sistemas de Informação — Orientação a Objetos — 2025

Enunciado

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 é

Alternativas

  1. A)

    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.

  2. B)

    manter a interface ServidorJudiciario como está, mas implementar o método realizarAudiencia() na classe AnalistaTI com um corpo vazio, garantindo compatibilidade com a interface.

  3. C)

    tornar o método realizaraudiencia() um método default com implementação vazia na interface, permitindo que AnalistaTI não precise sobrescrevê-lo.

  4. D)

    substituir a interface ServidorJudiciario por uma classe abstrata que implemente analisarProcesso() e realizarAudiencia()com comportamento genérico, permitindo que AnalistaTI herde dela.

  5. E)

    implementar uma exceção no método realizarAudiencia() da classe AnalistaTI, langando UnsupportedOperationException sempre que ele for chamado.

Gabarito e comentário

Resposta correta: A

O princípio da Segregação de Interface exige interfaces específicas. Separar as responsabilidades impede que AnalistaTI dependa do método realizarAudiencia, que não utiliza.

Questões relacionadas