Pular para o conteúdo principal

Questão de Engenharia de Software — Orientação a Objetos — FCC 2015

Engenharia de SoftwareOrientação a Objetos
Código
fc026264
Banca
FCC
Órgão
TRT - 4ª REGIÃO (RS)
Ano
2015
Nível
Superior
Cargo
Analista Judiciário - Tecnologia da Informação
O uso de herança pode otimizar o tempo de desenvolvimento das aplicações orientadas a objetos devido ao reaproveitamento de código. Quando se implementa herança
  1. Auma subclasse pode se tornar uma superclasse a qualquer momento, bastando para tanto que se derive uma subclasse a partir dela.
  2. Ba superclasse herda os atributos da subclasse, incluindo os atributos privados, públicos e protegidos.
  3. Cmúltipla na linguagem Java versão 6, a subclasse herda características de mais de uma superclasse.
  4. Dsó é possível obter polimorfismo na aplicação se houver sobrecarga de métodos.
  5. Eos métodos de uma superclasse não podem ser sobrescritos nas subclasses, porém, podem ser sobrecarregados.
Revelar gabarito e comentário

GabaritoA — uma subclasse pode se tornar uma superclasse a qualquer momento, bastando para tanto que se derive uma subclasse a partir dela.

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 Orientação a Objetos

Gabarito: letra A. Em herança, a subclasse herda atributos e métodos de uma superclasse. A subclasse pode, por sua vez, servir como superclasse para outra subclasse — ou seja, uma subclasse pode se tornar superclasse ao ser derivada. As demais alternativas contêm erros clássicos: inversão do sentido da herança, afirmação falsa sobre Java não suportar herança múltipla, confusão entre sobrecarga e sobrescrita para polimorfismo, e restrição incorreta sobre sobrescrita.

Alternativa A — ✅ Correta ⟵ GABARITO

Uma subclasse pode ser uma superclasse se dela derivarem novas subclasses. Isso é o princípio da hierarquia de classes: uma classe que herda de outra pode estender a cadeia. Exemplo: AnimalMamíferoCachorro. Mamífero é subclasse de Animal e superclasse de Cachorro. A afirmação está plenamente correta.

Alternativa B — ❌ Incorreta

Inverte o sentido da herança. A subclasse herda da superclasse, e não o contrário. Atributos privados da superclasse não são herdados diretamente (só acessíveis via métodos públicos/protegidos), mas a afirmação está duplamente errada: a superclasse não herda nada da subclasse.

NÃO CAIA NESSA!

A banca inverte a direção da herança — uma confusão comum entre iniciantes. Lembre-se: a SETA vai da subclasse PARA a superclasse (a subclasse depende da superclasse, não o oposto).

Alternativa C — ❌ Incorreta

Java versão 6 não suporta herança múltipla de classes (uma classe não pode estender mais de uma superclasse). O que existe é herança simples de classes e implementação múltipla de interfaces. A afirmação de que "a subclasse herda características de mais de uma superclasse" é falsa para classes em Java (embora possível em linguagens como C++).

Alternativa D — ❌ Incorreta

O polimorfismo é obtido principalmente por sobrescrita (override) de métodos, não por sobrecarga (overload). A sobrecarga é polimorfismo em tempo de compilação (polimorfismo ad hoc), mas a afirmação de que "só é possível" com sobrecarga é falsa. O polimorfismo de subtipo (via herança e sobrescrita) é o mais comum e característico da POO.

Alternativa E — ❌ Incorreta

Métodos de uma superclasse podem sim ser sobrescritos nas subclasses (override). A afirmação diz o contrário. Além disso, a sobrecarga (overload) também é permitida. A restrição de que não podem ser sobrescritos é falsa.

PEGA ESSA DICA!

Decore as diferenças entre sobrecarga e sobrescrita: a sobrecarga altera a assinatura (mesmo nome, parâmetros diferentes); a sobrescrita mantém a mesma assinatura e redefine o comportamento. O polimorfismo de subtipo depende da sobrescrita e da ligação tardia (late binding).

Gabarito: letra A.

Link permanente: /questoes/fc026264