Mixin en java
De Wikipedia, la enciclopedia libre
Saltar a navegación, búsqueda
En lenguajes de programación orientada a objetos, un mixin es una clase que ofrece cierta funcionalidad para ser heredadapor una subclase, pero no está ideada para ser autónoma. Heredar de un mixin no es una forma de especialización sino más bien un medio de obtener funcionalidad. Una subclase puede incluso escogerheredar gran parte o el total de su funcionalidad heredando de uno o más mixins mediante herencia múltiple.
Un mixin puede aplazar la definición y la vinculación de métodos hasta el tiempo de ejecución,aunque los atributos y los parámetros de instanciación siguen siendo definidos en tiempo de compilación. Esto se diferencia del enfoque más comúnmente utilizado, originario del lenguaje de programaciónSimula, en el que se definen todos los atributos, métodos e inicialización en tiempo de compilación.
Los mixins fueron utilizados por primera vez en Flavors, que era un enfoque a la orientación aobjetos utilizado en Lisp Machine Lisp. La ventaja de los mixins es que fomentan la reutilización de código y evitan problemas típicos asociados con la herencia múltiple. Sin embargo, los mixins tienensus propias limitaciones.
Contenido[ocultar] * 1 Definición e implementación * 2 Ejemplo * 3 Comentario * 4 Enlaces externos |
[editar] Definición e implementación
En Simula, las clases sondefinidas en un bloque en que los atributos, métodos e inicialización de clase están definidas todos juntos; por lo que todos los métodos que pueden ser invocados en una clase están definidos juntos,y la definición de la clase es completa.
Con mixins, la definición de clase define sólo los atributos y los parámetros asociados con esa clase; se deja que los métodos se definan en otro sitio, comoen Flavors y CLOS, y son llamados "funciones genéricas". Estas funciones genéricas son funciones que están definidas en muchos casos por type dispatch.
Además de Flavors y CLOS, otros lenguajes...
Regístrate para leer el documento completo.