Outils pour utilisateurs

Outils du site


No renderer 'pdf' found for mode 'pdf'
hackathlon:pronote:javascript

Javascript : quelques précisions

Ressources

Présentation

La programmation orientée objet permet d'encapsuler dans des objets :

  • des variables que l'on appelle attributs,
  • des fonctions que l'on appelle méthodes.

Cela permet de contrôler et de gérer de manière spécifique et centralisée les informations (données) et les fonctionnalités (actions) liées :

  • à un objet métier,
  • ou un objet technique.

De cette manière ce ne sont pas des fonctionnalités externes (fonctions du programme) qui vont manipuler l’objet mais l'objet lui-même qui contient ses propres fonctionnalités (méthodes de l'objet) pour les gérer. Pour cela :

  • on crée un modèle d'objet avec ses attributs et ses méthodes : on créer une classe d'objet,
  • on instancie la classe pour générer autant d'objet que l'on a besoin dans le programme.

Création simple d'un objet (pas encore une classe d'objet)

La création d'un objet peut être intéressante pour gérer un seul objet qui a uniquement avec des attributs(données sans méthodes particulières supplémentaires.

  • On utilise les accolades pour créer un objet :
Var moyenneClasse = {
};
  • on ajoute des attributs qui peuvent avoir ou nom une valeur par défaut , être un tableau, etc.
var moyenneClasse = {
  nomClasse : "BTSSIO",
  moyennes : [],
  derniereRecuperation : Date.now()
};
  • il est possible, après la création d'un objet et à la volée :
    • d'ajouter, modifier ou supprimer attribut ou une méthode
//ajout d'un atttibut
moyenneClasse.annee = 2017;

Utiliser un objet

  • l'afficher dans la console Javascript
console.log(moyenneClasse);
  • l'affichage d'un attribut peut se faire de 2 manières car javascript s’appuie sur les tableaux pour gérer les objets :
// utilisation de la notation pointée
console.log(moyenneClasse.nomClasse);
// utilisation de la notation tableau associatif
console.log(moyenneClasse["nomClasse"]);

Création d'une classe d'objet (modèle d'objet)

La création d'une classe d'objet permet d'avoir un modèle qui encapsule :

  • des attributs,
  • des méthodes (fonctionnalités) pour manipuler l'objet lui même.

<WRAP center round info> Une classe d'objet n'est pas manipulable directement. Il faudra instancier cette classe pour avoir un objet manipulable dans le programme. </WRAP>

On pourra ensuite instancier autant d'objet que l'on a besoin sur le même modèle.

  • pour créer une classe d'objet :
    • la classe est référencée par une variable,
    • par convention la première lettre du nom de la classe est en majuscule,
    • utilisation du mot clé function pour permette de mettre le code des méthodes
    • remplacer le : par = et , par ;
    • ajouter this devant les attributs pour préciser qu'il s'agit des attribut de l'objet lui même.
var MoyenneClasse = function() {
  // les attributs
  this.nomClasse = "BTSSIO";
  this.moyennes =  []; // contiendra autant d'objets que de moyennes
  this.derniereRecuperation = Date.now();
  // une méthode gérée par l'objet pour afficher des informations
  this.afficherConsole = function() {
    console.log("Nom classe : " + this.nomClasse);
    console.log("Moyennes : " + JSON.stringify(this.moyennes));
  };
};

Instancier un objet à partir de sa classe

  • on instancie un objet et on met la référence à cet objet dans une variable:
var moyenneClasse = new MoyenneClasse();
// afficher les informations de l'objet
moyenneClasse.afficherConsole();

Ajout dynamique d'une méthode

MoyenneClasse.resetDerniereRecuperation = function() {
  this.derniereRecuperation =  Date.now();
};

Retour projet 2017

<WRAP center round info>

</WRAP>

hackathlon/pronote/javascript.txt · Dernière modification : 2017/06/01 11:39 de 127.0.0.1