Delegación (informática)

Delegación (informática)

Delegación (informática)

Contenido

Definición

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 ésta ú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 escfribe mucho más que en herencia, ya que en herencia se hereda de forma declarativa, y esto simpilifica al 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, es obvia.

Uso

Es una buena costumbre usar la delegación en lugar de la herencia si no es necesario hacer conversiones hacia arriba. En general, es mejor cualquier tipo de composición, si es factible, en lugar de la herencia. Sin embargo solo es una buena elección si simplifica más que complica.

Si el lenguaje no soporta directamente éste mecanismo se puede emular haciendo una composición de clases donde un objeto delegador (de nivel más próximo al cliente) contenga en un objeto delegado (más lejos del cliente), en el que delegue determinada funcionalidad. Esto se implementa añadiendo un miembro de la clase delegada en la clase delegadora e implementando los métodos públicos que tenga la clase delegada en la clase delegadora. Dichos métodos simplemente deben realizar una llamada con los mismos parámetros al método equivalente de la clase delegada.

Puede usarse también como una herencia dinámica si se hace sobre un objeto cuyo tipo (o clase) se decide en tiempo de ejecución.

El concepto de delegación se usa en la resolución de ciertos Patrones de Diseño como los patrones State, Strategy y Visitor.

Bibliografía

Design Patterns. Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Addison-Wesley Professional Computing Series, 1998

Obtenido de "Delegaci%C3%B3n (inform%C3%A1tica)"

Wikimedia foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Mira otros diccionarios:

  • Olimpiada Mexicana de Informática — El logo de la Olimpiada Mexicana de Informática La Olimpiada Mexicana de Informática (OMI) es un concurso a nivel nacional para jóvenes de nivel medio y nivel medio superior con facilidad para resolver problemas prácticos mediante la lógica y el… …   Wikipedia Español

  • Facultad de Informática (Universidad Politécnica de Madrid) — Saltar a navegación, búsqueda Facultad de Informática (Universidad Politécnica de Madrid) Fundación 1976 Decano Francisco Javier Segovia Pérez …   Wikipedia Español

  • Facultad de Informática (Universidad de Murcia) — Saltar a navegación, búsqueda Facultad de Informática de la Universidad de Murcia Fundación 1983 Localización Murcia, España Decano D. José Manuel García Carrasco Dirección …   Wikipedia Español

  • Escuela Técnica Superior de Ingenierías Informática y de Telecomunicación (Universidad de Granada) — Saltar a navegación, búsqueda E. T. S. de Ingenierías Informática y de Telecomunicación Fundación 1986 Localización Granada, España Estudiantes 3400 (2005) Director/a …   Wikipedia Español

  • Facultad de Informática (Universidad Complutense de Madrid) — Saltar a navegación, búsqueda Facultad de Informática (Universidad Complutense de Madrid) Datos Fundación 1991 Localización Ciudad Universitaria de Madrid (España) …   Wikipedia Español

  • Departamento judicial de Lomas de Zamora — Anexo:Departamento judicial de Lomas de Zamora Saltar a navegación, búsqueda Departamento judicial de Lomas de Zamora El Departamento judicial de Lomas de Zamora es uno de los 18 departamentos judiciales en los que está dividida la Provincia de… …   Wikipedia Español

  • Departamento judicial de La Matanza — Saltar a navegación, búsqueda Departamento judicial de La Matanza El Departamento judicial de La Matanza es uno de los 18 departamentos judiciales en los que está dividida la Provincia de Buenos Aires, Argentina …   Wikipedia Español

  • Departamento judicial de Morón — Anexo:Departamento judicial de Morón Saltar a navegación, búsqueda Departamento judicial de Morón El Departamento judicial de Morón es uno de los 18 departamentos judiciales en los que está dividida la Provincia de Buenos Aires, Argentina. Abarca …   Wikipedia Español

  • Departamento judicial de Quilmes — Anexo:Departamento judicial de Quilmes Saltar a navegación, búsqueda Departamento judicial de Quilmes El Departamento judicial de Quilmes es uno de los 18 departamentos judiciales en la que está dividida la Provincia de Buenos Aires, Argentina.… …   Wikipedia Español

  • Departamento judicial de San Isidro — Anexo:Departamento judicial de San Isidro Saltar a navegación, búsqueda Departamento judicial de San Isidro El Departamento judicial de San Isidro es uno de los 18 departamentos judiciales en los que está dividida la Provincia de Buenos Aires,… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”