Langage à prototype

Langage à prototype

Programmation orientée prototype

La programmation orientée prototype est une forme de programmation orientée objet sans classe, basée sur la notion de prototype. Un prototype est un objet à partir duquel on crée de nouveaux objets par clonage. En programmation orientée prototype, les membres d'un objet, attributs et méthodes, sont appelés slots ; il n'y a pas la distinction entre les slots de données et les slots de code qu'on a avec les classes. La grande différence avec la programmation objet à classes est qu'on peut remplacer le contenu des slots, en ajouter d'autres ou changer la hiérarchie d'héritage que cela soit prévu dans l'objet original ou pas.

Self fut le premier langage à prototypes. Il a été conçu dans les laboratoires de Sun dans les années 1990. Le plus connu actuellement est Javascript.

Sommaire

Comparaison des modèles à classes et à prototypes

Objets à classes :

  • Une classe définie par son code source n'est pas vivante ;
  • Elle représente une définition abstraite de l'objet ;
  • Tout objet est instance d'une classe ;
  • L'héritage se situe au niveau des classes.

Objets à prototypes :

  • Un prototype défini par son code source est vivant ;
  • Il est lui-même un objet au même titre que les autres ;
  • Il a donc une existence physique en mémoire ;
  • Il peut être modifié, appelé ;
  • Il est obligatoirement nommé ;
  • Un prototype peut être vu comme un exemplaire modèle d'une famille d'objet ;
  • Un objet est un clone d'un prototype ou simplement un objet nommé ;
  • L'héritage se situe au niveau de l'objet.

Intérêt de la programmation orientée prototype

Un des intérêts majeurs des prototypes est l'héritage dynamique : tout objet peut changer de parent à l'exécution, n'importe quand.

On peut matérialiser les paradigmes objet à prototypes et objet à classes en constatant la différence d'utilisation de la mémoire.

Il existe à l'heure actuelle plusieurs langages à base d'objets à prototypes : Self, Lisaac, ou encore les langages implémentant la spécification Ecmascript (Javascript, ActionScript, JScript). Self et Javascript sont non typés et sont interprétés. Lisaac et ActionScript sont typés et compilés. À noter également qu'au sein de ActionScript 3.0, l’héritage de prototype ne constitue pas le principal mécanisme d’héritage car ce rôle incombe également à l'héritage de classe désormais présent dans cette version.

Langages

Voir aussi

Articles connexes

Liens externes

adobe, « Object - Référence du langage et des composants ActionScript 3.0 » sur help d'adobe, 2009, adobe. Consulté le 7 mai 2009

  • Portail de la programmation informatique Portail de la programmation informatique
Ce document provient de « Programmation orient%C3%A9e prototype ».

Wikimedia Foundation. 2010.

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

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • Prototype — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sommaire 1 Dans l industrie 2 En informatique …   Wikipédia en Français

  • Langage-objets — Programmation orientée objet La programmation orientée objet (POO) ou programmation par objet, est un paradigme de programmation informatique qui consiste en la définition et l assemblage de briques logicielles appelées objets ; un objet… …   Wikipédia en Français

  • Langage Python — Python (langage) Pour les articles homonymes, voir Python. Python …   Wikipédia en Français

  • Langage de programmation Python — Python (langage) Pour les articles homonymes, voir Python. Python …   Wikipédia en Français

  • Langage python — Python (langage) Pour les articles homonymes, voir Python. Python …   Wikipédia en Français

  • Langage Java — Java (langage) Pour les articles homonymes, voir Java.  Ne doit pas être confondu avec JavaScript …   Wikipédia en Français

  • Langage de programmation Java — Java (langage) Pour les articles homonymes, voir Java.  Ne doit pas être confondu avec JavaScript …   Wikipédia en Français

  • langage —  On appelle langage sur un alphabet X toute partie de X*.  DE CLASSES  Les langages de classes permettent de modeliser un domaine a l aide d une hierachie de classes (voir heritage).  FORMEL  Un langage formel est defini par la donnee d’un… …   Glossaire de linguistique computationnelle

  • Langage C — C (langage) Pour les articles homonymes, voir C. C …   Wikipédia en Français

  • Langage c — C (langage) Pour les articles homonymes, voir C. C …   Wikipédia en Français

Share the article and excerpts

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