Pular para o conteúdo principal

Questão de Programação — Programação Orientada a Objetos — Quadrix 2024

ProgramaçãoProgramação Orientada a Objetos
Código
qg354239
Banca
Quadrix
Órgão
IBICT
Ano
2024
Nível
Superior
Cargo
Tecnologista - Tecnologia da Informação
Acerca da definição de classe, da utilização de encapsulamento, da sobrescrita de métodos e do acesso ao banco de dados, julgue o item.A sobrescrita de métodos ocorre quando uma classe herdeira redefine um método da classe‑pai com uma implementação diferente.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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

Sobrescrita de métodos (override) na Programação Orientada a Objetos

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

@Override (Java)

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