Ed
semana passada
Para entender a questão, precisamos analisar os conceitos de Programação Orientada a Objetos (POO) mencionados nas alternativas. - A) Polimorfismo: Este princípio permite que métodos com o mesmo nome se comportem de maneira diferente em classes diferentes. No seu exemplo, o método `autenticar()` é redefinido nas subclasses `Admin` e `Visitante`, e o comportamento específico da subclasse é executado quando chamado a partir de um ponteiro para `Usuario`. Isso é um exemplo clássico de polimorfismo. - B) Encapsulamento: Refere-se à prática de esconder os detalhes internos de uma classe e expor apenas o que é necessário. Não é o que está sendo descrito na questão. - C) Template de função: Este conceito está relacionado a funções genéricas em linguagens como C++, mas não se aplica diretamente ao comportamento descrito. - D) Herança privada: Este é um tipo de herança onde a classe derivada não pode ser acessada fora da classe base, o que não se relaciona com o comportamento descrito. - E) Construtor múltiplo: Este termo não é um princípio da POO e não se aplica ao contexto da questão. Diante disso, a alternativa correta que descreve o comportamento mencionado na questão é: A) Polimorfismo.