Está en la página 1de 2

Polimorfismo en PHP

PHP soporta la caracterstica del polimorfismo. El polimorfismo implica que, teniendo varias clases con mtodos con el mismo nombre, otra funcin podr definir segn el objeto pasado como parmetro qu mtodo de qu clase se utilizar. Nada mejor que un ejemplo para entenderlo: Pongamos que tenemos 2 clases (perro y persona) que implementan la funcin andar: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. <?PHP class perro { function andar(){ //Cdigo } } class persona { function andar(){ //Cdigo } } ?>

Ahora creamos otra clase llamada movimiento y le ponemos el mtodo andar, de la siguiente manera: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. <?PHP class movimiento { function andar($objeto){ $objeto->andar(); } } ?>

En nuestro cdigo PHP, instanciaremos las tres clases, y para utilizar el polimorfismo llmaremos al mtodo andar de la siguiente manera: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. <?PHP $VarPerro = new perro(); $VarPersona = new persona(); $VarMovimiento = new movimiento(); //Para llamar al mtodo andar de la clase perro $VarMovimiento->andar($VarPerro); //Para llamar al mtodo andar de la clase persona $VarMovimiento->andar($VarPersona); ?>

Es decir, siempre invocamos al mtodo andar de la clase movimiento, pasndole el objeto instancia de la clase que queremos ejecutar. Visto as no tiene sentido, en el ejemplo anterior es ms prctico llamar directamente al mtodo que nos interese, pero se podra dar el caso de que segn una serie de parmetros dinmicos, como puedan ser los resultados de una

consulta a base de datos, queramos usar un mtodo u otro. De este modo, con el polimorfismo podremos automatizar esta tarea.

También podría gustarte