Pues no sé si termina de violar el "principio de las narices". El "error" está cuando haces esto:
Código PHP:
$zapato =& new Zapato();
$zapato -> color;
$zapato -> talla;
en vez de esto:
Código PHP:
$zapato =& new Zapato();
$zapato -> getColor();
$zapato -> getTalla();
Pero bueno, si funciona me alegro. Aunque haya otras formas de aplicar polimorfismo a este problema en particulaar (léase DAO).
un saludete.