El polimorfismo permite a un mismo nombre de método representar código diferente, en consecuencia puede expresar muchos comportamientos distintos.
Por ejemplo, supongamos que un usuario puede elegir entre tener un perro o un leon; y también puede hacer correr al animal que eligió haciendole gastar al animal una cantidad determinada de energía que varía segun el animal elegido
Primero veamos este código, luego lo analizamos.
<?php
// creamos la clase abstracta
abstract class AnimalAbstract
{
protected $_energiaConsumida = 0;