Polimorfismo e PHP 5
Amante de PHP e de Orientação à Objetos, resolvi escrever este artigo e mostrar como a nova versão do PHP pode implementar esse poderoso recurso típico de linguagens orientadas à objetos: o Polimorfismo.
Entendendo o conceito
Sempre foi grande a queixa por parte dos desenvolvedores o
fraco suporte à Programação Orientação a Objetos (POO) que o
PHP 4 oferecia. A falta de recursos como: modificadores
explícitos (public, private), classes abstratas, interfaces,
chamadas de objetos com várias hierarquias e outras muitas
características fazem bastante falta quando o assunto é o
Desenvolvimento Orientado a Objetos. Pra se ter uma idéia, o
VBScript, a linguagem padrão do ASP (Active Server Pages da
Microsoft), já tinha modificadores como private e public.
Aí veio o PHP 5 para resolver nossos problemas. Ou melhor, resolver boa parte de nossos problemas. Foram adicionadas grandes melhorias no que se diz respeito à POO, porém devemos saber que o passo dado não foi definitivo, pois existem várias características de POO que não foram ainda totalmente definidas.
Bem, o propósito deste artigo não é discutir sobre as novas funcionalidades do PHP 5 e nem definir os vários conceitos de POO e sim falar apenas de um deles: O Polimorfismo, e saber como ele pode ser implementado no PHP 5.
Você pode ter explicações mais detalhadas sobre as mudanças do PHP 4 pra 5 neste link:
Então vamos lá! Falaremos de Polimorfismo! O que seria isso? Vamos pela definição do nome: polimorfo + ismo. Que é uma referência à palavra grega "polymorphos", ou seja, "que se apresenta sobre numerosas formas", "sujeito a variar de forma"(3).
Então o que teríamos em programação? Seria a característica que um objeto teria de apresentar diferentes comportamentos em situações ou contextos diferentes. A idéia de Polimorfismo está estritamente ligada à existência de interfaces (uma das características de uma Linguagem OO). Pois é a partir delas que podemos "classificar" famílias de objetos que tem comportamentos em comum, porém tem implementações diferentes. Queremos executar a mesma ação de um determinado objeto, qualquer que seja o seu tipo.
Aí veio o PHP 5 para resolver nossos problemas. Ou melhor, resolver boa parte de nossos problemas. Foram adicionadas grandes melhorias no que se diz respeito à POO, porém devemos saber que o passo dado não foi definitivo, pois existem várias características de POO que não foram ainda totalmente definidas.
Bem, o propósito deste artigo não é discutir sobre as novas funcionalidades do PHP 5 e nem definir os vários conceitos de POO e sim falar apenas de um deles: O Polimorfismo, e saber como ele pode ser implementado no PHP 5.
Você pode ter explicações mais detalhadas sobre as mudanças do PHP 4 pra 5 neste link:
Então vamos lá! Falaremos de Polimorfismo! O que seria isso? Vamos pela definição do nome: polimorfo + ismo. Que é uma referência à palavra grega "polymorphos", ou seja, "que se apresenta sobre numerosas formas", "sujeito a variar de forma"(3).
Então o que teríamos em programação? Seria a característica que um objeto teria de apresentar diferentes comportamentos em situações ou contextos diferentes. A idéia de Polimorfismo está estritamente ligada à existência de interfaces (uma das características de uma Linguagem OO). Pois é a partir delas que podemos "classificar" famílias de objetos que tem comportamentos em comum, porém tem implementações diferentes. Queremos executar a mesma ação de um determinado objeto, qualquer que seja o seu tipo.
Me parece que o Brasil conheceu o PHP na versão 5 e só agora é que a linguagem ficou boa.
A maior novidade do PHP5 é a abilidade do PRADO, simplexml entre outras que não vou ficar listando.