Pular para o conteúdo principal

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

Engenharia de SoftwareOrientação a Objetos
Código
fc030383
Banca
FCC
Órgão
Prefeitura de Teresina - PI
Ano
2016
Nível
Superior
Cargo
Analista Tecnológico - Analista de Sistemas
Na orientação a objetos o entendimento dos conceitos é fundamental para se explorar ao máximo os recursos disponibilizados neste paradigma de programação. Um destes conceitos é o de
  1. Asobrecarga de construtores, que pode ocorrer na maioria das linguagens de programação, exceto na linguagem Java.
  2. Bpolimorfismo, que ocorre quando não há sobrescrita nem sobrecarga de métodos nas classes e interfaces da aplicação.
  3. Csobrescrita de métodos, que ocorre quando há métodos de mesmo nome na classe, mas que recebem parâmetros diferentes.
  4. Dsobrecarga de métodos, que ocorre quando um método recebe mais parâmetros do que pode suportar.
  5. Eherança múltipla, que ocorre quando uma subclasse possui duas ou mais superclasses imediatas.
Revelar gabarito e comentário

GabaritoE — herança múltipla, que ocorre quando uma subclasse possui duas ou mais superclasses imediatas.

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”.

Orientação a Objetos – Conceitos Fundamentais

Gabarito: letra E. A única alternativa que define corretamente um conceito de orientação a objetos é a letra E, que descreve herança múltipla como a situação em que uma subclasse possui duas ou mais superclasses imediatas. As demais alternativas apresentam definições incorretas ou confundem conceitos.

A questão testa o conhecimento básico dos pilares da POO e seus mecanismos. Vamos analisar cada alternativa:

1Sobrecarga (overloading)
Mesmo nome, parâmetros diferentes
Java suporta
2Sobrescrita (overriding)
Redefinir método herdado
Mesma assinatura
3Polimorfismo
Mesmo método, respostas diferentes
Por sobrescrita (runtime)
Por sobrecarga (compile-time)
4Herança múltipla
Subclasse com 2+ superclasses imediatas
Java não permite (classes)
POO – Conceitos
LEVELsoulevel.com.br
POO – Conceitos: Sobrecarga (overloading) (Mesmo nome, parâmetros diferentes, Java suporta); Sobrescrita (overriding) (Redefinir método herdado, Mesma assinatura); Polimorfismo (Mesmo método, respostas diferentes, Por sobrescrita (runtime), Por sobrecarga (compile-time)); Herança múltipla (Subclasse com 2+ superclasses imediatas, Java não permite (classes))

Alternativa A — ❌ Incorreta

Afirma que a sobrecarga de construtores pode ocorrer na maioria das linguagens, exceto em Java. Isso é falso: Java suporta sobrecarga de construtores, assim como a maioria das linguagens orientadas a objetos. O erro está na exceção inventada.

Alternativa B — ❌ Incorreta

Define polimorfismo como algo que ocorre quando não há sobrescrita nem sobrecarga de métodos. Na verdade, o polimorfismo é justamente a capacidade de objetos de classes diferentes responderem ao mesmo método de formas distintas, geralmente implementado por meio de sobrescrita (em tempo de execução) ou sobrecarga (em tempo de compilação). A alternativa inverte o conceito.

Alternativa C — ❌ Incorreta

A descrição de “métodos de mesmo nome na classe, mas que recebem parâmetros diferentes” corresponde à sobrecarga (overloading), e não à sobrescrita (overriding). A sobrescrita envolve redefinir um método herdado, com mesma assinatura (nome e parâmetros), em uma subclasse. A alternativa troca os conceitos.

Alternativa D — ❌ Incorreta

Define sobrecarga de métodos como “quando um método recebe mais parâmetros do que pode suportar”. Isso não faz sentido: sobrecarga é a existência de múltiplos métodos com o mesmo nome, mas com listas de parâmetros diferentes (número, tipo ou ordem). Não há limite de “suporte” — a alternativa é absurda.

Alternativa E — ✅ Correta ⟵ GABARITO

A definição está perfeita: herança múltipla é o mecanismo pelo qual uma classe (subclasse) pode herdar atributos e métodos de duas ou mais superclasses imediatas. Embora nem todas as linguagens implementem esse conceito (Java, por exemplo, não permite herança múltipla de classes, apenas de interfaces), a definição conceitual é exatamente essa.

Conclusão: Apenas a alternativa E apresenta um conceito correto de orientação a objetos. Gabarito: letra E.

Link permanente: /questoes/fc030383