JavaScriptLeçon 13 sur 16

Classes

Une classe est un plan : avec new, on en tire autant d’objets semblables qu’on veut. Chaque compte a son titulaire et son solde, mais les règles de dépôt et de retrait sont communes.

L’essentiel

  • class Name { constructor(…) { this.x = … } } : le plan et les propriétés de départ
  • new Name(…) crée un objet, et chacun reçoit les méthodes de la classe
  • get balance() { … } est un getter : il se lit comme une propriété, sans parenthèses
  • #balance est un champ privé : hors de la classe, impossible de le lire ou de le changer
  • class B extends A hérite ; super(…) appelle le constructeur du parent

Exemple

class Point {  constructor(x, y) {    this.x = x;    this.y = y;  }   move(dx, dy) {    this.x += dx;    this.y += dy;  }   toString() {    return `(${this.x}, ${this.y})`;  }} class Point3D extends Point {  constructor(x, y, z) {    super(x, y);    this.z = z;  }   toString() {    return `(${this.x}, ${this.y}, ${this.z})`;  }} const p = new Point(1, 2);p.move(3, 4);console.log(`${p}`);console.log(`${new Point3D(1, 2, 3)}`);

Point3D a hérité move de Point et a remplacé toString. super(x, y) a transmis x et y au constructeur de Point. Dans un gabarit, un objet devient du texte grâce à son toString.

Exercice

Utiliser l’éditeur⌘ Entrée ou Ctrl Entrée lance le code, ⇧ ⌘ Entrée vérifie l’exercice.Tab et Maj Tab indentent la ligne ou la sélection ; Échap puis Tab quitte l’éditeur.La vérification compare ce que le programme a affiché à l’exercice ; les espaces en fin de ligne ne comptent pas.Après deux vérifications ratées, la solution s’ouvre. Votre code reste dans ce navigateur.

Terminez la petite banque : deposit ajoute au #balance, withdraw retire l’argent ou affiche Not enough money s’il n’y en a pas assez. Dans SavingsAccount, ajoutez addInterest(percent), qui dépose ce pourcentage du solde. Sortie : Not enough money, Nora: 165 et true.

Sortie

Ce que le programme affiche apparaîtra ici.