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.