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
qg029837
Banca
Quadrix
Órgão
CRQ 4ª Região-SP
Ano
2023
Nível
Superior
Cargo
Profissionais de Atividade de Suporte - Analista de Sistemas (Programação)
Imagem da questão
Considerando‑se, ainda, o código Java apresentado anteriormente, julgue o item, acerca dos conceitos de orientação a objeto.Na orientação a objeto, a herança permite que uma classe herde atributos e métodos de uma classe base, conhecida como superclasse.
  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”.

Herança em Programação Orientada a Objetos

CERTO. A afirmação está correta: na orientação a objetos, a herança permite que uma classe (subclasse ou classe filha) herde atributos e métodos de uma classe base, também chamada de superclasse ou classe pai. Esse é um dos quatro pilares fundamentais da POO, ao lado de abstração, encapsulamento e polimorfismo.

A herança é um mecanismo que estabelece uma relação do tipo "é um" (é um tipo de) entre classes. Quando uma classe herda de outra, ela automaticamente recebe todos os membros (atributos e métodos) da classe base que sejam acessíveis (ou seja, que não sejam privados, dependendo da linguagem), podendo ainda adicionar novos membros ou sobrescrever (override) os métodos herdados para modificar seu comportamento. Isso promove a reutilização de código, reduz a duplicação e facilita a manutenção, pois alterações na superclasse são refletidas nas subclasses.

Na prática, em Java, a herança é implementada com a palavra-chave extends. Por exemplo, se tivermos uma classe Animal com o método fazerSom(), podemos criar uma classe Cachorro que estende Animal e herda esse método, podendo sobrescrevê-lo para latir. A classe Cachorro é a subclasse, e Animal é a superclasse. A hierarquia pode ser estendida: Cachorro pode ser superclasse de CachorroDeGuarda, e assim por diante.

É importante distinguir herança de outros relacionamentos entre classes, como associação, agregação e composição. Na herança, a relação é de generalização/especialização (é um), enquanto nos outros casos a relação é de uso ou de todo-parte (tem um). Por exemplo, um Carro "tem um" Motor (composição), mas um Carro "é um" Veiculo (herança). Essa distinção é crucial e frequentemente cobrada em provas.

A pegadinha que a banca pode explorar é confundir herança com composição ou com o simples fato de uma classe usar outra. A afirmação, no entanto, é direta e descreve corretamente o conceito de herança, sem cair em armadilhas. O código Java apresentado no texto-base (uma calculadora com switch) não tem relação direta com o conceito de herança, servindo apenas como contexto para a questão, que é puramente conceitual.

Guarde a definição: herança = subclasse herda de superclasse. É exatamente isso que a assertiva afirma, e é por isso que ela está correta.

1Relação "é um"
Subclasse (filha)
Superclasse (pai)
2O que herda
Atributos
Métodos acessíveis
3Benefícios
Reutilização de código
Facilita manutenção
4Pode
Adicionar novos membros
Sobrescrever (override)
5Distinções
Herança: é um
Composição: tem um
Herança (POO)
LEVELsoulevel.com.br
Herança (POO): Relação "é um" (Subclasse (filha), Superclasse (pai)); O que herda (Atributos, Métodos acessíveis); Benefícios (Reutilização de código, Facilita manutenção); Pode (Adicionar novos membros, Sobrescrever (override)); Distinções (Herança: é um, Composição: tem um)

Item — ✅ Correto ⟵ GABARITO

A afirmação define corretamente o conceito de herança na orientação a objetos. A classe que herda é chamada de subclasse (ou classe filha), e a classe base da qual ela herda é chamada de superclasse (ou classe pai). A subclasse recebe os atributos e métodos da superclasse, podendo estendê-los ou sobrescrevê-los. Isso está alinhado com a definição clássica de herança, um dos pilares da POO, e com o que é ensinado em qualquer material de programação orientada a objetos.

Gabarito: C (Certo).

Link permanente: /questoes/qg029837