Questão de Engenharia de Software — Orientação a Objetos — FCC 2015
Engenharia de Software›Orientaçã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
Auma subclasse pode se tornar uma superclasse a qualquer momento, bastando para tanto que se derive uma subclasse a partir dela.
Ba superclasse herda os atributos da subclasse, incluindo os atributos privados, públicos e protegidos.
Cmúltipla na linguagem Java versão 6, a subclasse herda características de mais de uma superclasse.
Dsó é possível obter polimorfismo na aplicação se houver sobrecarga de métodos.
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: Animal → Mamífero → Cachorro. 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).