cybercursus

Introduction aux classes

14 min · Intermédiaire · 7 août 2026

Sommaire
  1. Définir une classe
  2. L’héritage avec extends
  3. À toi de jouer

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()

}
À quoi sert le mot-clé `new` dans `const c = new CompteBancaire(100);` ?
Que fait `extends` quand une classe `Etudiant` l'utilise sur `Personne` ?

Pour aller plus loin

Commentaires

Recherche