WEB2007 ALSO SPEAKS ENGLISH
06 44 00 14 84 (ou 0033644001484)

* Integrateur Joomla Toulouse




***Web2007 est un bureau indépendant situé à Genève et a l'habitude de travailler pour des entreprises PARTOUT en France et en Europe

Integrateur Joomla Toulouse





Article:

On peut modifier dynamiquement un système d'objets ou de types dans un langage dynamique. Cela signifie générer de nouveaux objets à partir d'une définition disponible au runtime, ou basée sur le mixin de plusieurs types ou objets. Cela veut aussi dire l'altération de l'arbre d'héritage et ainsi altérer la manière dont les types existants se comportent, notamment pour ce qui concerne l'appel de méthodes.
Certains langages dynamiques font recours à la notion de continuation. Il s'agit d'un état d'exécution qui peut être réinvoqué. Par exemple, un analyseur syntaxique peut retourner un résultat intermédiaire et une continuation qui, lorsqu'elle est réinvoquée peut continuer à analyser l'entrée. Les continuations peuvent interagir de manière très complexe avec la portée, spécialement pour ce qui concerne les fermetures lexicales. C'est la raison pour laquelle, de nombreux langages dynamiques ne fournissent pas de continuations.
De nombreux langages dynamiques disposent la réflexion qui implique typiquement l'introspection, c'est-à-dire l'analyse des types et des médatadonnées. Elle inclut aussi l'évaluation et la modification du programme comme données, telle que les fonctionnalités fournies pas le Lisp pour l'analyse de S-expressions, c'est l'intercession.
Un nombre restreint de langages dynamiques produisent des fonctionnalités qui combinent l'introspection de code et l'évaluation en une fonctionnalité qui s'appelle macro. La plupart des programmeurs aujourd'hui connaît les macros de C ou C++ qui sont une fonctionnalité statique.
Le résultat est la substitution de chaînes dans le texte du programme avant sa compilation. Mais dans les langages dynamiques, les macros conduisent au fonctionnement interne du compilateur et un ac total à l'interpréteur, machine virtuelle, ou runtime, permettant la définition d'extensions de langage qui peuvent optimiser le code généré ou de modifier la syntaxe du langage. En Lisp, on parle de macro hygiénique pour distinguer ces macros de celles qui sont substituées à la compilation comme du texte.
En programmation orientée objet, une classe est une sorte de module qui permet de créer un sous-ensemble d'objets. La classe décrit comment se comportent ses objets, fournit leur interface et compose la structure de leur état. La classe permet de créer de nouveaux objets au moyen d'un mécanisme appelé instanciation. Ce mécanisme peut se décomposer en deux opérations :
Dans des environnements de programmation réflexifs, les classes peuvent être aperçues comme des objets à part entière créés au moyen du mécanisme d'instanciation (alloc (); init()). Dans ce cas, toutes les classes peuvent être vues comme des instances créées à la base à partir d'une même classe.






****Web2007 est un bureau indépendant situé à Genève et a l'habitude de travailler pour des entreprises PARTOUT en France et en Europe