Gabarito disponível
consultarSaldo() {}
}
class ContaCorrente extends ContaBanrisul {
consultarSaldo() { return "Conta Corrente:
R$ 22.000,01"; }
}
class PrevidenciaPrivada extends ContaBanrisul {
consultarSaldo() { return "Previdência:
R$ 120.000,53"; }
}
const contaCorrente = new ContaCorrente();
const previdencia = new PrevidenciaPrivada();
console.log(contaCorrente.consultarSaldo());
console.log(previdencia.consultarSaldo());
Com base no código precedente, em JavaScript, e nos conceitos da orientação a objetos, é correto afirmar que, nas duas últimas linhas, consultarSaldo() constitui
Resolução comentada
O mesmo método sobrescrito em subclasses, com comportamentos distintos, é polimorfismo.
ContaCorrente e PrevidenciaPrivada sobrescrevem consultarSaldo() da superclasse, e a mesma chamada produz resultados diferentes conforme o objeto. Isso caracteriza polimorfismo (sobrescrita).
Análise das alternativas
A) Não há agregação, e JavaScript não tem sobrecarga nativa de métodos. B) Não há composição, e a classe não é estática. C e E) A herança existe, mas a pergunta trata do comportamento do método nas chamadas, e o código não define encapsulamento privado ou protegido.
Referência: Conceitos de programação orientada a objetos.
Resolução comentada do VaiConcursos.