|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 18 115 ![]() |
![]() Frédéric Bouchery vous propose un article présentant les bases de la Programmation Orientée Objet en JavaScript et vous montre comment le Framework Dojo simplifie son utilisation. Merci à lui pour cet excellent article. Dojo et la programmation orientée objetBien entendu, n'hésitez pas à faire part de vos questions, commentaires, encouragements !
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
10
|
|
|
#2 |
|
Membre éclairé
![]() ![]() |
Article très intéressant surtout sur l'explication de la POO en javascript qu'on rencontre beaucoup dans les framework javascript.
Merci ! |
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Inscription : mars 2008 Messages : 3 993 ![]() |
Je rejoins l'avis de FERDIKAM. Merci pour le travail.
|
|
|
00
|
|
|
#5 | ||||
|
Membre éprouvé
![]() Inscription : février 2009 Messages : 352 ![]() |
Cool comme article !! c'est vrai que dojo est le meilleur framework pour la gestion des classes. Mais comme j'aime bien titillé, je vais faire quelque reproche
![]() Citation:
Cette recherche est couteuse en temps d'exécution, mais c'est ce qui fait du javascript un langage hautement dynamique car on peux changer à tout moment les valeur des propriété des prototypes ascendant. Y' a une erreur dans ton modèle d'héritage. Le code suivant est faux. Citation:
En faite il faux définir le prototype de la classe dérivé, par une instance d'une classe de base, ce qui initialise la chaine de prototype. Un exemple , lors de l'interprétation du mot clé this dans la classe dérivé, l'interpréteur va chercher d'abord dans l'objet d'instance, si il touve rien, il va chercher dans l'objet prototype de la classe dérivé, si il trouve pas et étant donné que cette objet prototype est une instance qui possède lui aussi un prototype il va chercher dans l'objet prototype du prototype de l'objet ect ... jusqu'à' ce qu'il tombe sur le prototype d'Objet, dont tout les objet javascript descende. Donc pour dériver une classe il faut lui assigner une instance de la classe de base dans son prototype. Le problème c'est que pour l'instancier (la classe de base) on doit passer par le constructeur qui peux initialiser des attributs d'instance et demander de fournir des arguments. La solution pour éviter ces problèmes est qu'on assigne le prototype de la classe base dans le prototype d'une fonction vide , (qui ne prends ancun argument est ne mets à jour aucun attribut d'instance) . Par du code on comprends mieux, surtout que c'est pas évident à expliquer : Code :
Sinon concernant dojo, il implémente aussi les mixins à la ruby, qui sont une implémentation particulière de l'héritage multiple. De plus il aurait été intéressant de renseigner le fait que dojo initialise les constructeur des classe de bases automatiquement , comme en c. |
||||
|
|
00
|
|
|
#6 | |||
|
Expert Confirmé
![]() ![]() Emmanuel REMY Inscription : novembre 2005 Messages : 2 848 ![]() |
Salut,
@kimjoa: pour compléter tes remarques autour de dojo Citation:
Citation:
Citation:
Enfin pour "compléter" cette très bonne initiation à la POO avec Dojo, notons pêle-mêle qu'avec Dojo il est aussi possible d'hériter d'une classe Javascript standard (sans qu'elle ait été déclarée avec un dojo.declare), de gérer manuellement la chaine d'héritage, de gérer le chainage des méthodes sous la forme d'AOP (before, after). ERE
__________________
Quand une tête pense seule, elle devient folle. |
|||
|
|
00
|
|
|
#7 | |
|
Membre confirmé
![]() ![]() Bouchery FrédéricChef de projet NTIC Inscription : juillet 2010 Messages : 19 ![]() |
Bonjour à tous,
J'ai enfin pu prendre le temps de mettre à jour l'article qui comportait en effet, une grossière erreur (merci kimjoa). Que pensez-vous de mon approche désormais ? Je dois encore y ajouter une référence vers l'article de mon ami et ex-collègue Mikaël sur le "build" des JS pour Dojo. Citation:
Frédéric |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com