Herencia Múltiple ¿por qué no?

El tema de la herencia múltiple más que el poder implementarlo es el ponerse de acuerdo en cuanto a si hacerlo o no, de ahí que ¿útil o inútil? he ahí el dilema. Yo soy partidario de que sí debería existir, si estamos haciendo POO y en la vida misma todos tenemos 2 padres (papá + mamá para los menos entendidos) entonces porque los objetos en PHP no pueden heredar de 2 clases.

La herencia de clases es muy diferente a implementar interfaces que estas si pueden ser múltiples pero carecen de muchas cosas útiles como declaración de variables o declaración de funciones, por ejemplo una interface es como un tío, o tu profesor sin embargo las clases de las que heredas son como tus padres o abuelos y cada uno de nosotros tenemos varios de esos.

logo_cpp Aún no me entra en la cabeza porque en Java, el hijo pródigo de la POO no soporta este tema mientras C++, Eiffel y hasta .net en el framework 4.0 ya lo soportan. En PHP lo podría llegar a entender porque hasta PHP 5 casi ni conocía lo que era un objeto pero ya han dejado bien claro que no es la línea que piensan seguir pues en PHP 6 ni se toca este tema.

Los principales problemas de la herencia múltiple de clases son las colisiones de nombres (también presente en herencia múltiple de interfaces y esta existe) y la herencia repetida. Ambos temas ampliamente solucionables y que se pueden solventar con el renombrado de funciones. Algunos alegan que sería un conflicto con el principio de Liskov (cualquier función que utilice una referencia a una clase base debe ser capaz de usar cualquier clase derivada sin saberlo).

5345php.jpgEn fin, queda demostrado que no es problema técnico, es un problema de criterios y me temo que los de los diseñadores de PHP distan mucho de estar de acuerdo con este asunto. El tema va mas allá del propio lenguaje, el tema es si se debe o no utilizar. Yo soy partidario que si, negar la utilidad de la herencia múltiple en cuanto a la reutilización de códigos es como negar que tenemos acciones iguales a nuestros padres o abuelos.

Comentarios