Classes Javascript propres
Il existe de nombreuses façons de coder en Javascript. La plus fréquente est malheureusement la plus crade : lister ses fonctions les une après les autres…
Voici une méthode pour faire ça moins crados, il en existe peut être de meilleures mais celle-ci a le mérite d’être très propre et très lisible.
var monProjet = {}; // On crée une variable globale du nom du projet // Ce tableau permettra de stocker et récupérer facilement les objets créés. //Je lui donne le nom de la classe avec un 's' marquant le pluriel : monProjet.maClasses = new Array(); /** * Classe maClasse : fait des choses. */ monProjet.maClasse = function(attr) { // Variable this.variable1 = attr; monProjet.maClasses.push(this); this.init(); }; // Méthodes publiques de maClasse monProjet.maClasse.prototype = { /** * Initialisation, méthode apellée à l'instanciation de l'objet */ init: function() { this.variable2 = this.variable1 + 10; }, /** * Autre méthode qui va afficher variable2 dans une alerte */ autreMethode: function() { alert(this.variable2); }, /** * Retourne une valeur de l'objet sous forme de chaine */ toString: function() { return "maClasse Object"; } }; // Méthodes Statiques /** * Une methode statique qui retourne 'yo' */ monProjet.maClasse.uneMethodeStatique = function() { return "yo"; }; /** * Le genre de méthode statique où on se rends compte de l'utilité du tableau d'objets vu plus haut */ monProjet.maClasse.getByVar1 = function(var1) { for (var i = 0; monProjet.maClasses[i]; i++) { if (monProjet.maClasses[i].variable1 == var1) { return monProjet.maClasses[i]; } } return false; }; //On peut ensuite créer un objet maClasse et apeller ses méthodes publiques et statiques : var unObjet = new monProjet.maClasse("youpi"); unObjet.toString(); // retourne "maClasse Object" monProjet.maClasse.getByVar1("youpi"); // retourne l'objet "unObjet" monProjet.maClasse.getByVar1("youpi").autreMethode(); // Crée une alerte