Questão nº 39

Questão de Tecnologia da Informação · FGV TJ-MS 2024 (nº 39)

FGV2024Técnico de Nível Superior - Analista de SistemasTecnologia da Informação
Gabarito: Cver comentário ↓

O analista Lucas está desenvolvendo o sistema orientado a objeto JustiSul. Em determinado módulo do JustiSul, o sistema instancia um objeto da classe Terceirizado de forma dinâmica, em tempo de execução, por meio da interface I3rd. A classe Terceirizado pertence a uma biblioteca proprietária externa, de forma que o JustiSul conhece apenas a especificação de I3rd, e não a de Terceirizado. Dentro de outro módulo, o sistema precisa instanciar um segundo objeto Terceirizado. Devido ao alto custo de uma nova inicialização dinâmica, Lucas optou por chamar o método cp3rd do objeto Terceirizado já criado. O cp3rd, declarado em I3rd e implementado na classe Terceirizado, retorna uma nova instância da classe, com um estado idêntico ao do objeto chamador.

Ao permitir a criação de novas instâncias pelo método cp3rd de uma instância existente, Terceirizado implementa o padrão de projeto:

Resposta comentada

Gabarito Alternativa C

O padrão Prototype permite criar novos objetos copiando um objeto existente, em vez de criar um do zero, o que é útil para evitar custos de inicialização ou quando a estrutura do objeto já serve como modelo.

(A) Incorreta: O builder é usado para construir objetos complexos passo a passo, separando a construção da representação, o que não se alinha à cópia de um objeto existente.
(B) Incorreta: O singleton garante que uma classe tenha apenas uma instância, enquanto a questão descreve a necessidade de criar múltiplas instâncias de `Terceirizado`.
(C) Correta: O prototype é implementado quando um objeto existente (o protótipo) é clonado para criar novas instâncias, como o método `cp3rd` faz ao retornar uma nova instância idêntica ao objeto chamador.
(D) Incorreta: O factory method define uma interface para criar um objeto, mas delega a decisão de qual classe instanciar para as subclasses; a criação aqui é por cópia de uma instância existente, não por delegação a uma fábrica. A armadilha é a menção de "instanciação dinâmica" para a primeira criação, que poderia envolver uma fábrica, mas a questão foca na segunda instância, criada por cópia.
(E) Incorreta: O abstract factory fornece uma interface para criar famílias de objetos relacionados sem especificar suas classes concretas, o que não se aplica à cópia de uma única instância.

Fonte: FGV TJ-MS 2024 Técnico de Nível Superior - Analista de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho