Questão de Programação — Programação Orientada a Objetos — Quadrix 2024
- Código
- qg354239
- Banca
- Quadrix
- Órgão
- IBICT
- Ano
- 2024
- Nível
- Superior
- Cargo
- Tecnologista - Tecnologia da Informação
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: C — CERTO. A afirmação está correta: a sobrescrita (override) ocorre quando uma subclasse redefine um método herdado da superclasse, fornecendo uma implementação própria, diferente da original. Esse é um dos mecanismos centrais do polimorfismo dinâmico na POO.
A sobrescrita de métodos é um dos pilares do polimorfismo em linguagens orientadas a objetos como Java, C#, Python e C++. Ela permite que uma classe filha altere o comportamento de um método herdado, mantendo a mesma assinatura (nome, parâmetros e retorno), mas com uma nova implementação. Isso é fundamental para o princípio do polimorfismo, que permite que objetos de classes diferentes respondam à mesma chamada de método de maneiras distintas.
Para que a sobrescrita ocorra, é necessário que haja herança: a classe filha deve estender a classe pai. Em Java, por exemplo, usa-se a anotação @Override para indicar explicitamente que um método está sendo sobrescrito, o que ajuda o compilador a verificar se a assinatura realmente corresponde a um método da superclasse. Em Python, a sobrescrita é natural: basta definir um método com o mesmo nome na subclasse.
É importante distinguir a sobrescrita (override) da sobrecarga (overload). Enquanto a sobrescrita ocorre entre classes diferentes (herança) e mantém a mesma assinatura, a sobrecarga ocorre dentro da mesma classe, com métodos de mesmo nome, mas assinaturas diferentes (diferentes parâmetros). A tabela abaixo resume as diferenças:
Critério | Sobrescrita (override) | Sobrecarga (overload) |
|---|---|---|
Onde ocorre | Entre classes (herança) | Dentro da mesma classe |
Assinatura | Mesma (nome, parâmetros, retorno) | Diferente (parâmetros diferentes) |
Vínculo | Polimorfismo dinâmico | Polimorfismo estático |
Palavra-chave |
| Nenhuma específica |
A banca explora justamente essa confusão entre sobrescrita e sobrecarga. Nesta questão, o enunciado descreve corretamente a sobrescrita: "uma classe herdeira redefine um método da classe-pai com uma implementação diferente". Não há pegadinha aqui — a definição está precisa. O candidato que confunde os conceitos pode marcar errado, mas a afirmação é verdadeira.
Na prática, a sobrescrita é usada para especializar comportamentos. Por exemplo, se uma classe Animal tem o método fazerSom(), a subclasse Cachorro pode sobrescrevê-lo para retornar "Au au", enquanto Gato retorna "Miau". Isso permite tratar todos os animais de forma uniforme, mas com comportamentos específicos.
Portanto, a afirmação está correta e o gabarito é C — CERTO.
✅ CERTO.
Link permanente: /questoes/qg354239