Pular para o conteúdo principal

Questão de Programação — Programação Orientada a Objetos — Avança SP 2024

ProgramaçãoProgramaçã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:
  1. AAmbas as afirmativas são corretas e a segunda justifica a primeira.
  2. BAmbas as afirmativas são incorretas.
  3. CApenas a primeira afirmativa é correta.
  4. DApenas a segunda afirmativa é correta.
  5. 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.

Link permanente: /questoes/qg078062