Tutoriel Mootools : Les Classes :

Comment utiliser mootools :

Pour pouvoir utiliser mootools il faudra télécharger la librairie, pour cela rien de plus simple.

Vous pouvez directement la telecharger sur cette adresse : http://mootools.net/download, vous devrez cocher la case Class pour pouvoir utiliser le package Class.js.

Spécifications de Class

Class est la classe de base utilisée avec mootools, c'est à dire que toutes les classes de mootools utilisent Class et héritent donc de ses fonctionalités.

Pour initialiser une classe "Class", une méthode appelée "initialize" est appelée lors de la création d'un objet "Class" et fait donc office de constructeur.

Class appartient au package mootools Class.js

La classe Class retient quatre méthodes :

  • Méthodes :
  • initialize: méthode faisant office de constructeur pour un objet Class.

    Note: si on appelle initialize avec null en paramètre, l'objet ne sera pas créé et l'initialisation de la classe sera donc intérompue, celà peut s'avérer très utile lors de vos traitements ;)

    Exemple d'utilisation du constructeur : var Personne= new Class({
      initialize: function(nom){
        this.nom = nom;
      }
    });

    var unePersonne = new Personne('Youssef');
    alert(unePersonne.nom); // affiche 'Youssef'

    var autrePersonne = new Personne(null);
    alert(unePersonne.nom); // Erreur 'undefined index nom'
  • empty : Retourne une fonction vide équivalente à "function(){}"
  • extend : implémente la notion d'héritage pour Class, cette méthode retourne une copie de la classe en lui ajoutant les champs contenus dans l'objet passé en paramètre.
    Exemple d'utilisation de Class.extend : var Employe= new Class({
      initialize: function(nom){
        this.nom = nom;
      }
    });

    var Comptable = Employe.extend({

    /** Cela veut dire que la classe Comptable va hériter de la classe Employe et que le corps de la classe Comptable est l'objet passé en paramètre à la fonction extend **/

      initialize: function(nom, age){
        this.parent(nom); //appelle le constructeur de la classe mère, la classe Employe dans notre cas
        this.age= age;
      }
    });

    var unComptable = new Comptable('Knibila', 99);
    alert(unComptable .nom); // affiche 'Knibila'
    alert(unComptable .age); // affiche 99
  • implement : Modifie la classe initiale en ajoutant les propriétés de l'objet donné en parametre à ceux de la classe; ceci est une façon élégante pour utiliser les interfaces (comme en Java) en Javascript avec mootools.
    Exemple d'utilisation de Class.implement : var Personne= new Class({
      initialize: function(nom){
        this.nom = nom;
      }
    });

    Personne.implement({

    /** Cela veut dire que la classe Personne va implémenter tous les paramètres de l'objet donné **/

      afficheNom: function(){
        alert(this.nom);
      }
    });

    var unePersonne = new Personne('Tsukasa');
    alert(unePersonne.nom); // affiche 'Tsukasa'
    unePersonne.afficheNom(); // affiche 'Tsukasa'

Extensions des classes sur mootools :

Mooooooooo

Comme vous avez du le noter, l'utilisation des classes avec mootools est facile et sans complications.

Mais les développeurs de mootools ont vu plus grand en incluant dans les packages mootools : le package Class.Extras.js, des fonctions qui sont implémentées dans toutes les classes mootools.

J'exposerais tous les détails du package Class.Extras.js dans mon prochain billet.

Bon Codage (H)