Questão de TI - Desenvolvimento de Sistemas — Conceitos Básicos de Orientação a Objetos (Classe, Objeto, Encapsulamento, Herança, Polimorfismo) — IBFC 2025
TI - Desenvolvimento de SistemasConceitos Básicos de Orientação a Objetos (Classe, Objeto, Encapsulamento, Herança, Polimorfismo)
- Código
- qa699653
- Banca
- IBFC
- Órgão
- TJ PE
- Ano
- 2025
- Cargo
- AJ ( )
Um novo módulo do sistema em Java de peticionamento eletrônico de um Tribunal de Justiça precisa processar diferentes tipos de documentos (petições, recursos, decisões etc.) de forma polimórfica, garantindo que, independentemente do tipo específico, todos possam ser persistidos e auditados de maneira padronizada. A equipe técnica está debatendo a melhor abordagem para abstrair essa funcionalidade, considerando a complexidade para novos documentos. Em relação ao design orientado a objetos, focando em polimorfismo, assinale a alternativa que se apresenta mais adequada para o cenário, permitindo que novos tipos de documentos sejam facilmente adicionados sem modificar o código existente de persistência e auditoria.
- ACriar uma classe abstrata DocumentoBase e um método também abstrato processar(), implementando classes concretas como Peticao, Recurso e Decisao estendendo-a, utilizando herança para o polimorfismo
- BCriar classes DocumentoPeticao, DocumentoRecurso e DocumentoDecisao sem uma hierarquia comum, e utilizar sobrecarga de métodos em uma classe PersistenciaService para lidar com cada tipo
- CUsar composição, criando uma classe GerenciadorDocumentosBase que contenha instâncias de Peticao, Recurso e Decisao e chame métodos específicos para cada tipo, utilizando instanceof para verificar o tipo em tempo de execução
- DDefinir uma interface Processavel com métodos como salvar() e auditar(), e fazer com que, por exemplo, Peticao, Recurso e Decisao implementem essa interface, utilizando polimorfismo de interface