Bonjour,
J'aurais voulu savoir quelle est la fa�on la plus propre de faire des classes en Javascript ?
Merci des r�ponses :)
Version imprimable
Bonjour,
J'aurais voulu savoir quelle est la fa�on la plus propre de faire des classes en Javascript ?
Merci des r�ponses :)
Etant donn� que les classes n'existent pas en JavaScript, il n'y a pas de m�thode propre ou non :aie:
Ensuite, tu peux bien s�r "�muler" des classes soit avec un objet litt�ral soit avec une fonction constructeur.
Y'en n'a pas, les classes n'existent pas en javascript ...
[edit]
grill� mais coh�rent
[\edit]
Ca c'est bien une classe en utilisant prototype :
On triche un peu mais bon.Code:
1
2
3
4
5
6
7
8
9
10
11
12 function maClasse() { this.attribut1; this.attribut2; } maClasse.prototype.methodeA() = function() { // code } maClasse.prototype.methodeB() = function() { // code }
Je ne sais pas si cette m�thode est "propre".
c'est une �mulation
Pour faire avancer le schmilblik :
Code:
1
2
3
4
5
6
7
8
9
10 function MaClasse() { var variablePrivee = "priv"; this.variablePublique = "pub"; this.getPriv = function() { return variablePrivee; } } var instance = new MaClasse(); alert(instance.variablePublique+"\n"+instance.getPriv()+"\n"+instance.variablePrivee);
Citation:
Envoy� par sylvain230
:koi:Code:function maClasse() {...}
Citation:
tu peux bien s�r "�muler" des classes soit avec un objet litt�ral soit avec une fonction constructeur.
un t�l�chargement ill�gal de reggae ?
Pourquoi tu dis ca ?
c'est de l'emule � Sion
Ben oui c'est aussi ce que je pense.Citation:
Parce que entre l'exemple que j'ai donn� et une vraie classe Java, y'a pas �norm�ment de diff�rence.
A vrai dire, oui et non.Citation:
Envoy� par Loceka
C'est vrai que dans ton exemple, on se rapproche d'une classe, mais c'est oublier que le mod�le objet de JavaScript est par prototype et non par classe.
Par exemple, il est pr�f�rable d'utiliser le prototype comme le fait sylvain230 dans l'exemple de son premier message que de d�finir des fonctions dans le constructeur car cette derni�re m�thode oblige � d�finir cette fonction pour chaque instance de l'objet alors qu'avec le prototype, la fonction n'est d�finie qu'une seule fois.
Aussi, tu n'as pas de fonction d'initialisation ex�cut�e � la cr�ation de l'instance, il te faut donc la d�clarer et la lancer "manuellement".
Enfin, m�me si tu peux faire comme si c'�tait le cas en jouant sur la port�e des variables locales, la notion de visibilit� n'est pas prise en charge par JavaScript.
Ceci dit, je t'accorde que �a reste tr�s th�orique et que concr�tement cela peut s'apparenter � des classes, mais il est selon moi pr�f�rable de rester dans l'esprit du mod�le JavaScript et de privil�gier le prototypage.
�muler les classes
c'est aussi oublier que quelque soit l'objet cr�� si on modifie le prototype apr�s sa cr�ation il h�rite de la modification
que tout objet d�rivant d'une classe peut ne plus en avoir les caract�ristiques
car tout objet est modifiable dans �a dur�e de vie tant dans ces donn�e comme en java que dans ses m�thodes.
A+JYT