Protocole a meta-objets

Protocole a meta-objets

Protocole à méta-objets

Un protocole à méta-objets est une technique en informatique qui consiste à faire de l'interprète d'un programme un objet de première classe, au même titre que ceux qui composent le programme. Il est ainsi possible de le réécrire afin de changer l'interprétation du programme. Cette technique est répandue notamment dans les interprètes des langages à objets, bien qu'elle ne soit pas spécifique à ce paradigme de programmation. Il faut également bien comprendre que même si cet article parle d'interprète, les protocoles à méta-objets ne sont pas spécifiques aux langages de programmation interprétés ou exécutés par une machine virtuelle.

Pour détailler la notion de protocole à méta-objets, prenons l'exemple d'un appel de méthode. Lorsqu'un programmeur écrit par exemple l'expression entier.ajouter(3, 7), il demande implicitement à l'interprète de l'objet entier d'interpréter la méthode ajouter de cet objet avec les paramètres 3 et 7. Appelons entier.interprète l'objet qui encapsule l'interprète de l'objet entier. Écrire entier.ajouter(3, 7) revient à écrire l'appel entier.interprète.appeler("ajouter", (3, 7)), la transformation (la réification de l'appel) étant réalisée automatiquement. C'est là que réside toute l'idée des protocoles à méta-objets: le programmeur a alors la possibilité d'utiliser n'importe quel objet pour l'attribut interprète et ainsi définir sa propre sémantique à l'appel de méthode (dans l'exemple). L'objet interprète est habituellement appelé méta-objet, c'est-à-dire objet qui traite des objets.

Un méta-objet étant un objet comme les autres, il a lui-même un méta-objet associé qui l'interprète, ayant lui-même un méta-objet, et ainsi de suite. Pour éviter que le processus de réification des appels de méthode ne soit infini, un mécanisme est généralement prévu pour permettre aux objets d'exister sans méta-objet associé. Un interprète auto-suffisant par défaut est alors utilisé pour terminer la récursivité.

Un protocole à méta-objets, c'est une spécification de la manière dont objets et méta-objets interagissent. Il précise en particulier la ou les interfaces que les méta-objets doivent satisfaire, et par là même les instructions de l'interprète qui peuvent être redéfinies. Dans l'exemple des langages à objets, sont inclus la plupart du temps l'instanciation et l'appel de méthode, qui sont les deux instructions majeures (sinon les deux seules) du paradigme de la programmation orientée objet.

Langages de programmation possédant un protocole à méta-objets

Bibliographie

  • Gregor Kiczales (1991). The art of the metaobject protocol, ISBN 0-262-61074-4
Ce document provient de « Protocole %C3%A0 m%C3%A9ta-objets ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Protocole a meta-objets de Wikipédia en français (auteurs)

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

Regardez d'autres dictionnaires:

  • Protocole à méta-objets — Un protocole à méta objets est une technique en informatique qui consiste à faire de l interprète d un programme un objet de première classe, au même titre que ceux qui composent le programme. Il est ainsi possible de le réécrire afin de changer… …   Wikipédia en Français

  • Meta Object Protocol — Protocole à méta objets Un protocole à méta objets est une technique en informatique qui consiste à faire de l interprète d un programme un objet de première classe, au même titre que ceux qui composent le programme. Il est ainsi possible de le… …   Wikipédia en Français

  • Méta-programmation — Métaprogrammation La métaprogrammation est, par analogie avec les métadonnées et les métaclasses, la programmation de métaprogrammes. Elle est l écriture de programmes qui manipulent des données décrivant des programmes (autres ou eux mêmes).… …   Wikipédia en Français

  • Méta-objet — Métaobjet Un métaobjet est la réification des entités d un objet, comme son interface, sa classe, ses méthodes, etc. Voir aussi Protocole à méta objets Ce document provient de « M%C3%A9taobjet ». Catégorie : Programmation informatique …   Wikipédia en Français

  • Meta-donnée — Métadonnée  Pour l’article homonyme, voir Métadonnée (audio).  Une métadonnée (mot composé du préfixe grec meta, indiquant l auto référence ; le mot signifie donc proprement « donnée de/à propos de donnée ») est une… …   Wikipédia en Français

  • Méta-donnée — Métadonnée  Pour l’article homonyme, voir Métadonnée (audio).  Une métadonnée (mot composé du préfixe grec meta, indiquant l auto référence ; le mot signifie donc proprement « donnée de/à propos de donnée ») est une… …   Wikipédia en Français

  • Méta-données — Métadonnée  Pour l’article homonyme, voir Métadonnée (audio).  Une métadonnée (mot composé du préfixe grec meta, indiquant l auto référence ; le mot signifie donc proprement « donnée de/à propos de donnée ») est une… …   Wikipédia en Français

  • Information Economy Meta Language — (IEML, fr.:métalangage de l économie de l information) est un langage informatique. L’initiative IEML (Information Economy Meta Language) a été lancée en 2006 par Pierre Lévy à partir de la Chaire de Recherche du Canada en Intelligence Collective …   Wikipédia en Français

  • Common Lisp — est un langage fonctionnel impur de la famille Lisp. Sommaire 1 Introduction 2 Syntaxe 3 Types de données 3.1 Types scalaires …   Wikipédia en Français

  • Intercession(informatique) — Réflexion (informatique) Pour les articles homonymes, voir Réflexion et Réflexivité. En programmation informatique, la réflexion est la capacité d un programme à examiner, et éventuellement à modifier, ses structures internes de haut niveau (par… …   Wikipédia en Français

Share the article and excerpts

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