Tecnología

Inicio

Las ventajas de herencias múltiples

La programación orientada a objetos es paradigma de programación dominante de hoy. Casi todos los idiomas principales soportan algún tipo de orientación a objetos. La herencia múltiple describe la capacidad de una clase para heredar el comportamiento de más de una clase o supertipo. La herencia múltiple se caracteriza por provocar problemas de mantenimiento para los programadores, aunque tiene algunas ventajas. Se han tomado medidas para desarrollar alternativas que permiten a los programadores aprovechar los beneficios sin los inconvenientes asociados.

Programación orientada a objetos

La programación orientada a objetos (POO) es el paradigma de la programación dominante en el espacio de programación de la empresa. En lugar de ver la programación como la entrega de una computadora una lista de instrucciones a ejecutar, programadores orientados a objetos se acumulan objetos discretos en la memoria y luego orquestan estos objetos para producir software de trabajo. El enfoque orientado a objetos, cuando está bien ejecutado, produce software modular que es fácil de probar.

Clases y herencia

Las clases son una parte fundamental de la programación orientada a objetos. Las clases actúan como una "fábrica" ​​para otros objetos, crean otros objetos. programadores de POO pasan la mayor parte de su tiempo a la definición de clases que exhiben diferentes comportamientos que necesitan para escribir software. Las clases pueden heredar de otras clases, o copiar su comportamiento. Las clases que heredan de otra clase se dice que son una subclase de dicha clase. La mayoría de los lenguajes orientados a objetos son a una herencia, las clases sólo se pueden heredar de una clase. La herencia múltiple permite que las clases que heredan de más de una otra clase.

La herencia múltiple

La herencia múltiple no está muy extendida. Puede producir software que es difícil trabajar con clases y se abre a todo tipo de problemas. Por ejemplo, un programador podría "sub-clase" dos clases diferentes con un comportamiento conflictivo. Esto podría causar grandes dolores de cabeza de depuración. Por otro lado, desde un punto de vista jerarquías de tipo, un objeto puede pertenecer a más de un tipo. Por ejemplo, una libélula puede pertenecer tanto a la clase "insecto" y la clase "puede volar." La herencia múltiple es conveniente desde un punto de vista "tipos".

Alternativas a la herencia múltiple

Ha habido intentos de desarrollar alternativas a la herencia múltiple que resuelven algunos de los problemas asociados con el concepto, al tiempo que permite a los programadores a cosechar algunos de los beneficios. Uno de los enfoques más prometedores es el "mix-ins" que permiten a los programadores definir clases especiales que se pueden mezclar en otras clases. Si estas clases definen el comportamiento conflictivo, el comportamiento que pertenece a una clase real reemplaza el comportamiento de la mezcla de entrada.