Pular para o conteúdo principal

Questão de Programação — Programação Orientada a Objetos — Quadrix 2023

ProgramaçãoProgramação Orientada a Objetos
Código
qg026006
Banca
Quadrix
Órgão
CREA-GO
Ano
2023
Nível
Superior
Cargo
Analista de Área - T.I
A respeito dos conceitos de hardware, dos comandos de repetição utilizados na programação e dos conceitos abordados na programação orientada a objetos (POO), julgue o item.Na POO, a principal característica da herança é que os dados dentro da classe são protegidos e acessíveis apenas por meio de métodos públicos.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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

Herança e encapsulamento na POO

Gabarito: ERRADO. A afirmação confunde dois pilares distintos da programação orientada a objetos: a proteção de dados por meio de métodos públicos é característica do encapsulamento, e não da herança. A herança, por sua vez, é o mecanismo que permite que uma classe filha (subclasse) reutilize e estenda atributos e métodos de uma classe pai (superclasse).

Na programação orientada a objetos, os quatro pilares fundamentais são: abstração, encapsulamento, herança e polimorfismo. Cada um tem um papel específico:

  • Abstração: consiste em modelar objetos do mundo real, focando apenas nas características e comportamentos essenciais para o sistema, ignorando detalhes irrelevantes.

  • Encapsulamento: é o mecanismo que esconde os detalhes internos de um objeto, protegendo seus atributos e métodos. Em linguagens como Java, isso é feito declarando os atributos como private e fornecendo métodos públicos de acesso (getters e setters). O objetivo é impedir o acesso direto e indevido aos dados, garantindo a integridade do objeto.

  • Herança: é o mecanismo que permite que uma classe (subclasse ou classe filha) herde atributos e métodos de outra classe (superclasse ou classe pai). Isso promove a reutilização de código e a criação de hierarquias de classes. Por exemplo, uma classe Cachorro pode herdar de uma classe Animal, ganhando automaticamente os atributos e métodos definidos em Animal.

  • Polimorfismo: é a capacidade de um mesmo método ou atributo se comportar de maneiras diferentes em classes distintas. Pode ser estático (sobrecarga) ou dinâmico (sobrescrita).

A confusão entre herança e encapsulamento é um erro clássico em provas de concurso. A banca frequentemente troca as definições desses pilares para testar se o candidato realmente domina os conceitos. Nesta questão, a afirmação diz que "a principal característica da herança é que os dados dentro da classe são protegidos e acessíveis apenas por meio de métodos públicos", o que descreve perfeitamente o encapsulamento, não a herança.

Para fixar, veja a comparação:

Critério

Herança

Encapsulamento

Definição

Mecanismo de reutilização de código entre classes

Mecanismo de proteção e ocultação de dados

Objetivo

Estender e especializar comportamentos

Controlar o acesso aos atributos e métodos

Como é implementado

Através de extends (Java), : (C++), etc.

Através de modificadores de acesso (private, protected, public)

Exemplo

class Cachorro extends Animal

Atributos private com métodos get e set

NÃO CAIA NESSA!

A banca trocou a definição de herança pela de encapsulamento. O candidato que não domina os pilares da POO pode marcar "Certo" por achar que a proteção de dados é uma característica da herança. Lembre-se: herança é sobre reutilização e hierarquia, encapsulamento é sobre proteção e ocultação.

1Abstração
Modela o essencial
Ignora detalhes irrelevantes
2Encapsulamento
Protege os dados
Acesso por métodos públicos
3Herança
Reutiliza código
Cria hierarquias
4Polimorfismo
Mesmo método, comportamentos diferentes
Pilares da POO
LEVELsoulevel.com.br
Pilares da POO: Abstração (Modela o essencial, Ignora detalhes irrelevantes); Encapsulamento (Protege os dados, Acesso por métodos públicos); Herança (Reutiliza código, Cria hierarquias); Polimorfismo (Mesmo método, comportamentos diferentes)

Alternativa C — ❌ Incorreta

A alternativa afirma que a principal característica da herança é a proteção de dados por métodos públicos. Isso está errado, pois essa é a definição de encapsulamento. A herança, na verdade, é o mecanismo que permite que uma classe filha herde atributos e métodos de uma classe pai, promovendo a reutilização de código e a criação de hierarquias. A banca inverteu os conceitos para confundir o candidato.

Alternativa E — ✅ Correta ⟵ GABARITO

A alternativa está correta ao afirmar que a afirmação do enunciado é errada. A proteção de dados por métodos públicos é característica do encapsulamento, não da herança. A herança é o mecanismo de reutilização de código entre classes, permitindo que uma subclasse herde características de uma superclasse.

Gabarito: letra E

Link permanente: /questoes/qg026006