La POO

La programmation, c'est essentiellement ce qu'on a vu jusqu'à présent. Cependant, un besoin s'impose, celui d'organiser son code pour des projets volumineux tout en conservant une clarté dans la lecture et dans les différentes définitions et algorithmes. C'est pour cela que l'on a créé la POO (Programmation Orientée Objet).

Les classes

circle-check

Voici un exemple de définition d'une classe en JavaScript :

// constructor est la méthode en JavaScript qui est executée
// lors de l'initialisation d'une instance. On appelle cela la méthode d'initialisation.
// Elle porte un nom différent selon les langages mais s'appelle souvent "init".

// carname est un attribut.
// constructor et present sont des méthodes.
class Car {
  constructor(brand) {
    this.carname = brand;
  }
  present() {
    return 'I have a ' + this.carname;
  }
}

// myCar est une instance de la classe "Car". C'est un objet.
var myCar = new Car('Peugeot 307');

Les prototypes

Les prototypesarrow-up-right ne sont pas exactement comme les classes, qui rappelons le, définissent le comportement des objets. Les prototypes décrivent plutôt les classes dans une certaine mesure. Ils contrôlent les types de valeurs pour les différentes entrées et sorties pour chaque méthode et attributs d'une classe. Ils sont utilisés par les debuggers et compilateurs pour la gestion d'erreurs. Ainsi, ces informations suffisent pour remarquer les incohérences de manipulation d'objets.

On peut manipuler la structure même des classes dynamiquement en JavaScript via cette notion de prototypes mais ce n'est absolument pas une pratique standard de programmation :

circle-exclamation

Les instances

Les instances de classe sont des objets que l'on a initialisé à l'aide d'une classe. Par exemple lorsque j'ai fait :

J'avais créé une variable myCar qui est une instance de la classe Car. On peut donc se servir de ses méthodes et ses attributs, tels que définit dans la classe.

circle-exclamation

Mis à jour