Questão de Programação — Programação Orientada a Objetos — Avança SP 2024
Programação›Programação Orientada a Objetos
Código
qg078062
Banca
Avança SP
Órgão
CISBRA - SP
Ano
2024
Nível
Superior
Cargo
Analista em T.I
Sobre o conceito de Herança em programação orientada a objetos, analise as sentenças a seguir:I) Uma classe derivada de outra classe é chamada de subclasse.Porque:II) Subclasses herdam campos e métodos de outras classes.A partir da sentença, conclui-se que:
AAmbas as afirmativas são corretas e a segunda justifica a primeira.
BAmbas as afirmativas são incorretas.
CApenas a primeira afirmativa é correta.
DApenas a segunda afirmativa é correta.
EAmbas as afirmativas são corretas, mas a segunda não justifica a primeira.
Revelar gabarito e comentário▾
GabaritoA — Ambas as afirmativas são corretas e a segunda justifica a primeira.
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
Gabarito: letra A. Ambas as afirmativas são corretas e a segunda justifica a primeira: uma classe derivada é chamada de subclasse (I) e as subclasses herdam campos e métodos de outras classes (II), sendo essa herança exatamente o que caracteriza a relação de derivação. O conceito central é o de herança, um dos pilares da POO, que permite reutilização de código e organização hierárquica das classes.
A herança é um dos quatro pilares da Programação Orientada a Objetos (POO), ao lado de encapsulamento, polimorfismo e abstração. Ela estabelece uma relação hierárquica entre classes, onde uma classe filha (subclasse) herda características (atributos/campos) e comportamentos (métodos) de uma classe pai (superclasse). Essa relação é conhecida como "é-um-tipo-de" (is-a), como quando uma classe Cachorro herda de Animal — todo cachorro é um animal.
A afirmativa I está correta porque, na terminologia da POO, a classe que deriva de outra é chamada de subclasse (ou classe filha, classe derivada). A classe da qual ela deriva é chamada de superclasse (ou classe base, classe pai). Essa nomenclatura é padronizada na literatura e nas linguagens que implementam o paradigma.
A afirmativa II também está correta e é exatamente a justificativa da primeira: o que define uma subclasse é justamente o fato de ela herdar campos e métodos de outra classe. Sem herança, não haveria subclasses — a derivação só faz sentido porque a classe derivada recebe (herda) os membros da classe base. Portanto, a segunda afirmativa explica o porquê da primeira: uma classe é chamada de subclasse porque herda de outra.
Na prática, quando criamos uma classe Funcionario que herda de Pessoa, a classe Funcionario automaticamente possui os atributos e métodos definidos em Pessoa (como nome, cpf, getNome()), podendo adicionar seus próprios membros (como salario, calcularSalario()). Isso promove a reutilização de código e a modelagem mais fiel do mundo real.
A pegadinha desta questão está na relação de justificativa entre as duas afirmativas. Muitas vezes, em questões do tipo "afirmação + porque", as duas podem ser verdadeiras, mas a segunda não explica a primeira. Aqui, porém, a herança é a própria razão de existir da subclasse — a segunda afirmativa descreve o mecanismo que define a primeira. Guarde essa distinção: a segunda afirmativa justifica a primeira porque explica o mecanismo que a torna verdadeira.
Herança (POO)
1Relação hierárquica
Superclasse (classe pai/base)
Subclasse (classe filha/derivada)
2Mecanismo
Herda campos (atributos)
Herda métodos (comportamentos)
Pode adicionar novos membros
Pode sobrescrever existentes
3Relação "é-um-tipo-de" (is-a)
Ex.: Cachorro herda de Animal
4Benefícios
Reutilização de código
Modelagem fiel do mundo real
LEVEL · soulevel.com.br
Afirmativa I — ✅ Correta
A afirmativa I está correta. Na POO, uma classe derivada de outra é chamada de subclasse (também conhecida como classe filha ou classe derivada). A classe original é chamada de superclasse (classe pai ou classe base). Essa terminologia é universal no paradigma orientado a objetos, presente em linguagens como Java, C++, Python e C#.
Afirmativa II — ✅ Correta
A afirmativa II está correta. Subclasses herdam campos (atributos) e métodos de outras classes (suas superclasses). Esse é o mecanismo fundamental da herança: a classe derivada recebe automaticamente os membros da classe base, podendo adicionar novos membros ou sobrescrever os existentes. É essa herança que caracteriza a relação de derivação.
Relação de justificativa — ✅ A segunda justifica a primeira
A segunda afirmativa justifica a primeira porque explica o mecanismo que define o conceito: uma classe é chamada de subclasse porque herda campos e métodos de outra classe. A herança é a razão de ser da subclasse — sem herança, não haveria subclasses. Portanto, a relação de causa e consequência está correta.
Gabarito: letra A — Ambas as afirmativas são corretas e a segunda justifica a primeira.