Questão de Programação — Programação Orientada a Objetos — Quadrix 2023
- 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)

- CCerto
- EErrado

GabaritoC — Certo
✅ 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.
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