Programmation orientée prototype

Infos
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
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.

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, JavaScript et ActionScript sont non typés et sont interprétés. Lisaac est typé et compilé.

Langages

-Actor-Based Concurrent Language, ABCL: ABCL/1, ABCL/R, ABCL/R2, ABCL/c+
-Agora
-Cecil
-Cel
-ColdC
-JavaScript
-Factor
-Io
-Lisaac
-Logtalk
-Lua
-LPC
-MOO
-NewtonScript
-Obliq
-OpenLaszlo
-Oris
-REBOL
-Self
-Slate
-Squeak quand on l'utilise pour manipuler les composants du framework Morphic
-TADS

Voir aussi

- Programmation orientée objet Catégorie:Programmation informatique de:Prototypenbasierte Programmierung en:Prototype-based programming es:Programación basada en prototipos ja:プロトタイプベース ko:프로토타입 기반 프로그래밍 ru:Прототипное программирование th:การเขียนโปรแกรมแบบโพรโทไทป์ tr:Prototip-tabanlı programlama
Sujets connexes
ABCL/1   ActionScript   Années 1990   ECMAScript   Io (langage)   JScript   JavaScript   Lisaac   OpenLaszlo   Programmation orientée objet   Self (langage)   Squeak   Sun Microsystems  
#
Accident de Beaune   Amélie Mauresmo   Anisocytose   C3H6O   CA Paris   Carole Richert   Catherinettes   Chaleur massique   Championnat de Tunisie de football D2   Classement mondial des entreprises leader par secteur   Col du Bonhomme (Vosges)   De viris illustribus (Lhomond)   Dolcett   EGP  
^