Pular para o conteúdo principal

Questão de Programação — Programação Orientada a Objetos — Avança SP 2023

ProgramaçãoProgramação Orientada a Objetos
Código
qq839089
Banca
Avança SP
Órgão
SAAE de Amparo - SP
Ano
2023
Nível
Superior
Cargo
Analista de Sistemas da Informação
Em Programação Orientada a Objetos, o encapsulamento pode ser definido como:
  1. AUm mecanismo que permite constatar que os objetos e os métodos variam de acordo com o referencial.
  2. BUm mecanismo que pode alterar o atributo da classe com que está interagindo, por meio de argumentos em adição a seu objetivo (parâmetros).
  3. CUm mecanismo que permite proteger métodos e atributos de uma classe.
  4. DUm mecanismo que forma um conjunto de valores dos atributos de um objeto em um dado momento.
  5. EUm mecanismo que denota que o objeto é a instância de sua classe, com atributos próprios.
Revelar gabarito e comentário

GabaritoC — Um mecanismo que permite proteger métodos e atributos de uma classe.

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”.

Encapsulamento em Programação Orientada a Objetos

Gabarito: letra C. O encapsulamento é o mecanismo da POO que protege (oculta) os métodos e atributos de uma classe, restringindo o acesso direto aos seus componentes internos e expondo apenas o que for necessário por meio de interfaces públicas (métodos getters/setters, por exemplo). As demais alternativas descrevem outros conceitos da orientação a objetos, como estado do objeto, instância e passagem de parâmetros.

O encapsulamento é um dos quatro pilares fundamentais da programação orientada a objetos, ao lado da abstração, herança e polimorfismo. Ele consiste em esconder os detalhes internos de um objeto — seus atributos e a implementação de seus métodos — e controlar o acesso a esses detalhes. Na prática, isso é feito declarando os atributos como privados (private) e fornecendo métodos públicos de acesso (getters e setters) para ler e modificar esses valores de forma controlada. O objetivo é proteger a integridade dos dados e reduzir o acoplamento entre as classes, permitindo que a implementação interna possa ser alterada sem afetar quem utiliza a classe.

Por exemplo, imagine uma classe ContaBancaria com um atributo saldo. Se o atributo for público, qualquer código externo pode alterá-lo diretamente, inclusive para valores negativos. Com o encapsulamento, o atributo é privado e o acesso é feito por métodos como getSaldo() e depositar(double valor), que podem validar as operações (por exemplo, impedir depósito de valores negativos). Isso protege o estado do objeto e garante que as regras de negócio sejam respeitadas.

A banca explora a confusão entre encapsulamento e outros conceitos da POO. É comum o candidato confundir encapsulamento com abstração (que é o processo de modelar apenas as características essenciais de um objeto, ignorando detalhes irrelevantes), com estado do objeto (o conjunto de valores dos atributos em um dado momento) ou com instanciação (criar um objeto a partir de uma classe). O encapsulamento é especificamente o mecanismo de proteção e ocultação dos membros internos da classe.

Guarde a fronteira: encapsulamento = proteção/ocultação de atributos e métodos. É exatamente nesse critério que as alternativas se dividem — a correta fala em "proteger", enquanto as demais descrevem outros conceitos.

Alternativa A — ❌ Incorreta

Esta alternativa descreve o conceito de relatividade ou perspectiva ("os objetos e os métodos variam de acordo com o referencial"), que não corresponde a nenhum pilar da POO. Não há relação com encapsulamento, que trata da proteção dos membros internos da classe.

Alternativa B — ❌ Incorreta

Esta alternativa descreve a passagem de parâmetros para métodos ("alterar o atributo da classe com que está interagindo, por meio de argumentos em adição a seu objetivo (parâmetros)"). Embora métodos possam receber parâmetros e modificar atributos, isso não é encapsulamento — é apenas o mecanismo de passagem de argumentos.

Alternativa C — ✅ Correta ⟵ GABARITO

Esta é a definição correta de encapsulamento: "Um mecanismo que permite proteger métodos e atributos de uma classe". O encapsulamento oculta os detalhes internos e controla o acesso, protegendo a integridade do objeto. É exatamente o que a alternativa afirma.

Alternativa D — ❌ Incorreta

Esta alternativa descreve o estado de um objeto, que é o conjunto de valores dos atributos em um determinado momento. Não é encapsulamento, que trata da proteção desses atributos, e não do conjunto de valores em si.

Alternativa E — ❌ Incorreta

Esta alternativa descreve o conceito de instância ("o objeto é a instância de sua classe, com atributos próprios"). Um objeto é uma instância de uma classe, mas isso não é encapsulamento — é o relacionamento entre classe e objeto.

NÃO CAIA NESSA!

A banca mistura conceitos fundamentais da POO para confundir o candidato. A alternativa D descreve o estado do objeto, a alternativa E descreve a instância, e a alternativa B descreve a passagem de parâmetros. O encapsulamento é especificamente a proteção/ocultação dos membros internos — fique atento a essa palavra-chave.

PEGA ESSA DICA!

Para identificar encapsulamento em questões de POO, procure por termos como "proteger", "ocultar", "esconder", "restringir acesso" ou "modificadores de acesso" (private, protected). Se a alternativa falar em "estado", "instância" ou "parâmetros", é outro conceito.

Gabarito: letra C

Link permanente: /questoes/qq839089