Cadernos de Questões

Provas Favoritas

Filtros Salvos

Foram encontradas 40 questões.
#3651954

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 é  

  • 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.
  • manter a interface ServidorJudiciario como está, mas implementar o método realizarAudiencia() na classe AnalistaTI com um corpo vazio, garantindo compatibilidade com a interface.
  • tornar o método realizaraudiencia() um método default com implementação vazia na interface, permitindo que AnalistaTI não precise sobrescrevê-lo.
  • substituir a interface ServidorJudiciario por uma classe abstrata que implemente analisarProcesso() e realizarAudiencia()com comportamento genérico, permitindo que AnalistaTI herde dela.
  • implementar uma exceção no método realizarAudiencia() da classe AnalistaTI, langando UnsupportedOperationException sempre que ele for chamado.
Fale com IAgo
IAgo - Assistente IAProva
IA
Olá! Sou o IAgo, seu assistente aqui no IAProvatec 😊
Veja como posso te ajudar:
Agora