No PHP7, quando implementamos o conceito de polimorfismo, q...

Próximas questões
Com base no mesmo assunto
Q2447170 Programação
No PHP7, quando implementamos o conceito de polimorfismo, qual das seguintes alternativas melhor descreve sua aplicação prática?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a D - Permitir que objetos de diferentes classes sejam tratados como instâncias de uma classe pai através de interfaces ou classes abstratas.

Vamos explorar o tema da questão, que é o polimorfismo em PHP7, e entender por que essa alternativa é a correta.

Polimorfismo é um conceito fundamental na programação orientada a objetos (POO), que permite que um objeto de uma classe possa ser tratado como um objeto de uma classe pai. Esse recurso é amplamente utilizado para promover a flexibilidade e a reutilização de código.

Para aplicar o polimorfismo em PHP, usamos interfaces e classes abstratas. Uma interface define um conjunto de métodos que uma classe deve implementar, enquanto uma classe abstrata pode fornecer implementação parcial desses métodos, permitindo que outras classes herdem e completem a implementação.

Agora, vamos justificar as alternativas:

Alternativa A: Utilizar múltiplas variáveis com o mesmo nome dentro de diferentes funções.
Essa alternativa não descreve polimorfismo. O uso de variáveis com o mesmo nome em funções diferentes não se relaciona com a capacidade de um objeto tratar diferentes tipos de dados ou classes de maneira uniforme.

Alternativa B: Criar funções que aceitam diferentes tipos de arrays como argumentos.
Embora a flexibilidade na aceitação de diferentes tipos de arrays seja uma prática válida, ela não caracteriza o conceito de polimorfismo. Isso está mais relacionado a sobrecarga de funções ou flexibilidade de dados.

Alternativa C: Definir classes que podem ser estendidas para modificar métodos existentes ou adicionar novos.
Essa alternativa descreve mais precisamente o conceito de herança e não exatamente polimorfismo. Herança permite que uma classe derive de outra para reutilizar, estender ou modificar comportamentos.

Alternativa D: Permitir que objetos de diferentes classes sejam tratados como instâncias de uma classe pai através de interfaces ou classes abstratas.
Essa é a definição correta de polimorfismo. Ele permite que diferentes classes sejam tratadas de forma uniforme, desde que elas implementem uma interface comum ou herdem de uma classe abstrata comum.

Em resumo, a alternativa D explica corretamente o conceito de polimorfismo, que é essencial para a programação orientada a objetos e é um componente chave no desenvolvimento de software modular e reutilizável.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

O polimorfismo permite “programar no geral” em vez de “programar no específico”. Em particular, o polimorfismo permite escrever programas que processam objetos que compartilham a mesma superclasse, direta ou indiretamente, como se todos fossem objetos da superclasse; isso pode simplificar a programação.

Resposta correta letra (D)

Fonte: Java Como Programar, DEITEL

Ao meu ver, sei que muitos não concordam, mas o polimorfismo da letra c (herança com sobrecarga ou sobrescrita) é muito mais eficiente e utilizado do que o polimorfismo da letra d que é mais utilizado para estabelecer regras de negócios, com interfaces e classes abstratas (onde nem é possível se instanciar um objeto).

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo