Questão de Engenharia de Software — Orientação a Objetos — FCC 2015
Engenharia de Software›Orientação a Objetos
Código
fc018612
Banca
FCC
Órgão
DPE-RR
Ano
2015
Nível
Superior
Cargo
Analista de Sistemas
Os dois principais paradigmas de programação amplamente conhecidos são o paradigma orientado a objetos e o procedural. Na orientação a objetos,
Aocorre herança múltipla quando uma superclasse herda características de mais de uma subclasse.
Ba marca de um produto é considerada uma classe, porém, o preço é considerado um atributo.
Cuma classe pode conter vários métodos com o mesmo nome, se recebem parâmetros diferentes.
Dsó é permitido um construtor em cada classe, independente da linguagem de programação utilizada.
Eum método representa uma propriedade da classe, semelhante a um campo em uma tabela.
Revelar gabarito e comentário▾
GabaritoC — uma classe pode conter vários métodos com o mesmo nome, se recebem parâmetros diferentes.
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 – Sobrecarga de Métodos
Gabarito: letra C. A alternativa C descreve corretamente a sobrecarga de métodos (overloading), recurso em que uma classe possui vários métodos com o mesmo nome, mas com parâmetros diferentes – um dos pilares do polimorfismo em orientação a objetos.
A questão testa conceitos básicos de OOP: herança, classe vs. atributo, sobrecarga, construtores e a distinção entre método e propriedade. Vamos analisar cada alternativa:
Alternativa
Afirmação
Correção
Conceito Relacionado
A
Herança múltipla: superclasse herda de subclasses
❌ Incorreta – o sentido está invertido; herança múltipla é subclasse herdar de várias superclasses
Herança múltipla
B
Marca é classe; preço é atributo
❌ Incorreta – marca é tipicamente atributo de Produto, não classe separada
Classe vs. atributo
C
Uma classe pode ter vários métodos com mesmo nome e parâmetros diferentes
✅ Correta – define sobrecarga de métodos (overloading)
Sobrecarga / Polimorfismo
D
Só um construtor por classe, independente da linguagem
❌ Incorreta – linguagens como Java e C++ permitem múltiplos construtores
Construtores
E
Método é propriedade da classe, como campo em tabela
❌ Incorreta – método representa comportamento, não propriedade/atributo
Método vs. atributo
Alternativa A — ❌ Incorreta
Afirma que a herança múltipla ocorre quando uma superclasse herda características de mais de uma subclasse. O conceito está invertido: herança múltipla é quando uma subclasse herda de várias superclasses. A alternativa inverte o sentido da relação.
Alternativa B — ❌ Incorreta
Diz que "a marca de um produto é considerada uma classe" e o preço um atributo. Na modelagem orientada a objetos, marca é tipicamente um atributo da classe Produto, e não uma classe separada (a menos que tenha comportamento próprio). O preço também é atributo. A afirmação é imprecisa e não reflete boas práticas de modelagem.
Alternativa C — ✅ Correta ⟵ GABARITO
Corresponde ao conceito de sobrecarga de métodos (overloading): uma classe pode ter múltiplos métodos com o mesmo nome, desde que recebam parâmetros diferentes (em tipo, quantidade ou ordem). Isso permite polimorfismo em tempo de compilação, presente em linguagens como Java, C++ e C#.
Alternativa D — ❌ Incorreta
Afirma que só é permitido um construtor por classe, independentemente da linguagem. Isso é falso: linguagens como Java e C++ permitem vários construtores (sobrecarga de construtores). A restrição não existe na maioria das linguagens orientadas a objetos.
Alternativa E — ❌ Incorreta
Define um método como "propriedade da classe, semelhante a um campo em uma tabela". Método representa comportamento (ações que o objeto pode realizar), não propriedade (atributo). Atributos armazenam estado; métodos executam operações. A alternativa confunde os conceitos.
NÃO CAIA NESSA!
A banca explora a inversão do sentido de herança (alternativa A) e a confusão entre classe e atributo (alternativa B). Fique atento: herança múltipla é da subclasse para as superclasses; um atributo representa estado, não uma classe.