Observe a frase com relação à orientação a objetos: “Podemos...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: B — Sobrecarga.
Tema central: A questão explora sobrecarga de métodos, conceito essencial de Programação Orientada a Objetos (POO). Ele aparece quando definimos métodos com o mesmo nome na mesma classe, variando a lista de parâmetros (tipo e/ou quantidade). É comum em linguagens como Java e C#.
Resumo teórico e exemplo prático:
- Sobrecarga (overloading): mesmo nome, assinaturas diferentes (parâmetros distintos). O compilador escolhe qual método chamar com base nos argumentos.
class Calculadora {
int soma(int a, int b) { return a + b; }
double soma(double a, double b) { return a + b; }
int soma(int a, int b, int c) { return a + b + c; }
}
- Observação importante: em linguagens como Java e C#, retorno diferente sozinho não sobrecarrega; é necessário mudar os parâmetros.
Fontes recomendadas: Oracle Java Tutorials — Overloading Methods; Microsoft Docs (C#) — Method Overloading.
Por que a alternativa B é correta? A descrição pede “métodos com o mesmo nome na mesma classe, variando retorno e/ou parâmetros”. Em POO, isso caracteriza sobrecarga. Embora alguns enunciados mencionem “retorno diferente”, lembre: na prática, o critério decisivo é a lista de parâmetros. Ainda assim, o termo cobrado em concursos para esse cenário é “sobrecarga”.
Análise das alternativas incorretas:
- A) Polimorfismo: conceito mais amplo de “múltiplas formas”. Em geral, em provas, associa-se a sobrescrita (override) em herança — métodos com o mesmo nome em classes diferentes (pai/filha) e mesma assinatura, mas implementações distintas em tempo de execução. Não é o caso descrito (mesma classe).
- C) Herança: mecanismo de reutilização/relacionamento entre classes (superclasse/subclasse). Não trata de “mesmo nome de método na mesma classe”.
- D) Construtor: é um tipo especial de método para inicialização. Embora construtores possam ser sobrecarregados, o conceito perguntado é a sobrecarga, não “construtor”.
Estratégia de prova (pegadinhas):
- Marque sobrecarga sempre que vir “mesmo nome na mesma classe com parâmetros diferentes”.
- Se o enunciado falar em “mesmo nome em classes relacionadas (herança) com implementação diferente”, pense em sobrescrita/polimorfismo.
- Desconfie de alternativas que trocam o conceito pelo “tipo de membro” (ex.: “construtor” em vez de “sobrecarga”).
Conclusão: A definição dada corresponde a Sobrecarga. Logo, alternativa B.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo