Pular para o conteúdo principal

Questão de Programação — JavaScript — Quadrix 2024

ProgramaçãoJavaScript
Código
qg347827
Banca
Quadrix
Órgão
COREN-PR
Ano
2024
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Acerca da programação orientada a objetos (POO), da linguagem de programação Python e da linguagem JavaScript, julgue o item a seguir.O encapsulamento, na POO, é definido como a capacidade de esconder detalhes internos de implementação de uma classe.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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 na Programação Orientada a Objetos

Gabarito: C — CERTO. O encapsulamento é, de fato, a capacidade de esconder os detalhes internos de implementação de uma classe, expondo apenas uma interface pública para interação com os objetos. Essa definição é um dos pilares fundamentais da POO e está diretamente relacionada ao conceito de ocultamento de dados.

O encapsulamento é um dos quatro pilares da programação orientada a objetos, ao lado da abstração, herança e polimorfismo. Enquanto a abstração foca em destacar apenas as características essenciais de um objeto, ignorando detalhes irrelevantes, o encapsulamento atua como um mecanismo de proteção: ele esconde os atributos e os detalhes de implementação dos métodos, permitindo que o acesso aos dados seja feito apenas por meio de métodos públicos (getters e setters, por exemplo). Isso impede que o estado interno de um objeto seja modificado de forma inadequada ou imprevisível, garantindo a integridade dos dados e facilitando a manutenção do código.

Na prática, o encapsulamento é implementado por meio de modificadores de acesso, como private, protected e public em linguagens como Java e C++, ou por convenções como o uso de underscores (_atributo) em Python. Por exemplo, em uma classe ContaBancaria, o atributo saldo pode ser declarado como privado, e o acesso a ele seria feito apenas através dos métodos depositar() e sacar(), que validam as operações antes de modificar o saldo. Isso garante que o saldo nunca seja negativo ou alterado diretamente por código externo.

A distinção mais importante que a banca explora neste tema é entre encapsulamento e abstração. Embora ambos envolvam a ideia de "esconder", eles atuam em níveis diferentes: a abstração esconde a complexidade do mundo real, modelando apenas o que é relevante; o encapsulamento esconde a implementação interna da classe, protegendo os dados e o comportamento. Confundir esses dois conceitos é um erro comum, e é exatamente essa confusão que a banca pode explorar em questões sobre POO.

A pegadinha desta questão é justamente a tentação de associar a definição de encapsulamento à abstração, ou vice-versa. O enunciado afirma que encapsulamento é "a capacidade de esconder detalhes internos de implementação de uma classe", o que está perfeitamente alinhado com a definição clássica. Não há qualquer inversão ou troca de conceitos aqui — a afirmação é literalmente correta.

1O que é
Esconde detalhes internos
Expõe interface pública
2Como implementa
Modificadores de acesso (private, protected, public)
Convenções (underscore em Python)
3Objetivos
Protege dados
Garante integridade
Facilita manutenção
4Distinção da abstração
Abstração: modela o essencial do mundo real
Encapsulamento: esconde a implementação interna
Encapsulamento (POO)
LEVELsoulevel.com.br
Encapsulamento (POO): O que é (Esconde detalhes internos, Expõe interface pública); Como implementa (Modificadores de acesso (private, protected, public), Convenções (underscore em Python)); Objetivos (Protege dados, Garante integridade, Facilita manutenção); Distinção da abstração (Abstração: modela o essencial do mundo real, Encapsulamento: esconde a implementação interna)

Alternativa C — ✅ CERTO ⟵ GABARITO

A afirmação está correta porque define com precisão o conceito de encapsulamento na POO. O encapsulamento é o mecanismo que permite esconder os detalhes internos de implementação de uma classe, como atributos e métodos, expondo apenas uma interface pública para interação. Isso é feito por meio de modificadores de acesso (como private e public) ou convenções de nomenclatura, e tem como objetivo proteger os dados, aumentar a modularidade e facilitar a manutenção do código. A definição apresentada no enunciado é exatamente a que se encontra na literatura e em materiais de estudo sobre orientação a objetos.

SE LIGUE NESSA!

O encapsulamento é frequentemente confundido com a abstração. Enquanto a abstração foca em modelar apenas as características essenciais de um objeto, ignorando detalhes irrelevantes, o encapsulamento foca em esconder a implementação interna da classe, protegendo os dados e o comportamento. São conceitos complementares, mas distintos.

Gabarito: C — CERTO

Link permanente: /questoes/qg347827