En el de informática, un metaobject o el meta-objeto es cualquier entidad que manipule, crea, describe, o ejecuta otros objetos el objeto que el metaobject es sobre está llamado el objeto bajo. Una cierta información que un metaobject pudo almacenar es el tipo del objeto bajo, el interfaz, la clase, las cualidades de los métodos, las funciones de las variables, las estructuras de control, etc.

Un protocolo (FREGONA) del metaobject del es un intérprete de la semántica de un programa que sea abierto y extensible. Por lo tanto, una FREGONA determina lo que significa un del programa y cuál es su comportamiento, y es extensible en que un programador (o el metaprogrammer ) puede alterar comportamiento de programa extendiendo las piezas de la FREGONA. La FREGONA expone algo o toda la estructura interna del intérprete al programador. La FREGONA puede manifestar como sistema de las clases y de los métodos que permiten que un programa examine el estado del sistema de apoyo y altere su comportamiento . Se ejecutan las fregonas pues los programas orientados al objeto donde están metaobjects todos los objetos.

Las fregonas pueden ser el tiempo de pasada o el de tiempo de compilación. Los metaobjects de fregonas runtime existen mientras que se ejecuta el programa sí mismo. Los metaobjects de fregonas de tiempo de compilación, sin embargo, existen solamente cuando se compila el programa. Pueden alterar o ampliar el proceso de compilación, pero no existen cuando el programa está funcionando.

Una el fregonas runtime más conocidas es la que está descrita en el del libro el arte del protocolo de Metaobject; se aplica al campo común balbucea sistema del objeto de ( CLOS ) y permite los mecanismos de la herencia, envío, particularización del método de la clase y así sucesivamente que se manipularán.

Un buen ejemplo de una FREGONA de tiempo de compilación es el OpenC++ .

Un uso del ejemplo de una FREGONA es alterar la puesta en práctica de la herencia múltiple . Una edición que se repite es cómo resolver ranuras en conflicto y los métodos de los superclasses típicamente, los diseñadores de la lengua seleccionan una solución, y los usuarios de la lengua deben vivir con ella. En lugar, un protocolo del metaobject permite cambiar las reglas de herencia y elegir una diversa solución para las clases individuales.

Un protocolo del metaobject es unidireccional ejecutar idiomas programadas Aspecto-orientadas . Muchos de los fundadores tempranos de fregonas, incluyendo el Gregor Kiczales se han movido desde entonces encendido para ser los abogados primarios para la programación aspecto-orientada.

Ver también

CLOS
Javassist
OpenC++
OpenJava
unificado modelando la lengua : UML
(lenguaje de programación) maravilloso

.

  • Zenithic
  • Metaobject
    Random links:Cementerio de Novodevichy | Sinfonía No. 3 (Mahler) | Provincia occidental, Sri Lanka | Hypnagogia | Guillermo Ross, barón Ross de Marnock

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">