Delegación (informática)

La delegación es un mecanismo, usado en la programación orientada a objetos, por medio de la cual una clase delega en otra una determinada funcionalidad.

Se aplica como sustitución a la herencia. De hecho es una forma de hacer composición tan potente como ésta. Como valor añadido, permite, combinado con la herencia múltiple de interfaces, sustituir la herencia múltiple de clases en los lenguajes donde no se permite esta última directamente. Además, los conflictos de nombres que se plantean en la herencia múltiple se resuelven manualmente con esta técnica.

Diferencias con Herencia

La delegación se caracteriza por "reutilización selectiva", en cambio en herencia es un "todo o nada". Es cierto que en composición y delegación se escribe mucho más que en herencia, ya que en herencia se hereda de forma declarativa, y esto simplifica la tarea del programador en ciertos casos. Se habla de la herencia como Caja Blanca y de Composición y delegación como Caja Negra. Es conveniente usar herencia cuando la relación de "Es Un" es clara u obvia.

Other Languages