Introduction aux classes
14 min · Intermédiaire · 7 août 2026
Définir une classe
javascript
class CompteBancaire {
constructor(soldeInitial) {
this.solde = soldeInitial;
}
deposer(montant) {
this.solde += montant;
return this.solde;
}
retirer(montant) {
if (montant > this.solde) {
throw new Error("Solde insuffisant");
}
this.solde -= montant;
return this.solde;
}
}
const compte = new CompteBancaire(100);
console.log(compte.deposer(50)); // 150
console.log(compte.solde); // 150 Le constructor s’exécute automatiquement à la création d’une instance avec new. Chaque instance a son propre this.solde, indépendant des autres.
L’héritage avec extends
javascript
class Personne {
constructor(nom) {
this.nom = nom;
}
serPresenter() {
return `Je m'appelle ${this.nom}`;
}
}
class Etudiant extends Personne {
constructor(nom, ecole) {
super(nom); // appelle le constructeur de Personne
this.ecole = ecole;
}
seRepresenter() {
return `${this.serPresenter()}, j'etudie a ${this.ecole}`;
}
}
const e = new Etudiant("Alice", "Lycee Voltaire");
console.log(e.seRepresenter());
// "Je m'appelle Alice, j'etudie a Lycee Voltaire" Attention
Dans une classe qui utilise extends, super(...) doit être appelé avant tout accès à this dans le constructeur : c’est lui qui initialise la partie héritée de l’objet.
À toi de jouer
Écris une classe Rectangle avec un constructor(largeur, hauteur) et une méthode aire() qui renvoie largeur * hauteur, et une méthode perimetre() qui renvoie 2 * (largeur + hauteur).
html
// JS
class Rectangle {
// Constructeur (largeur, hauteur), methodes aire() et perimetre()
}