No PHP7, quando implementamos o conceito de polimorfismo, q...
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