logo oujood
🔍

🔐 Modificateurs d'accès : public, private, protected

En programmation orientée objet, il est important de contrôler qui peut accéder à quoi. C’est là qu’interviennent les modificateurs d’accès. Ils permettent de définir la visibilité des propriétés et méthodes d’une classe.

OUJOOD.COM

📖 Les trois niveaux d’accès principaux

  • public : accessible de partout (par défaut)
  • private : accessible uniquement à l’intérieur de la classe
  • protected : accessible dans la classe et dans les classes héritées

🔓 Exemple avec public (accès libre)

📋 Copier le code

class Personne {
  public nom: string;

  constructor(nom: string) {
    this.nom = nom;
  }

  public direBonjour(): void {
    console.log("Bonjour, je suis " + this.nom);
  }
}

const p = new Personne("Alice");
console.log(p.nom);          // ✅ OK
p.direBonjour();             // ✅ OK
  • Le mot-clé public est optionnel car c’est le comportement par défaut
  • Les propriétés et méthodes sont accessibles depuis l’extérieur

🔒 Exemple avec private (accès restreint à la classe)

📋 Copier le code

class CompteBancaire {
  private solde: number;

  constructor(soldeInitial: number) {
    this.solde = soldeInitial;
  }

  public afficherSolde(): number {
    return this.solde;
  }
}

const compte = new CompteBancaire(500);
console.log(compte.afficherSolde()); // ✅ OK
console.log(compte.solde);           // ❌ Erreur : propriété privée
  • solde est privé : on ne peut pas y accéder directement
  • On est obligé de passer par une méthode publique pour lire sa valeur

🧬 Exemple avec protected (accès hérité)

📋 Copier le code

class Employe {
  protected nom: string;

  constructor(nom: string) {
    this.nom = nom;
  }
}

class Manager extends Employe {
  public presenter(): string {
    return "Je suis le manager " + this.nom;
  }
}

const m = new Manager("Marc");
console.log(m.presenter());  // ✅ OK
console.log(m.nom);          // ❌ Erreur : propriété protégée
  • nom est accessible dans la sous-classe Manager
  • Mais pas accessible en dehors des classes (ex : m.nom interdit)

📌 Résumé

Modificateur Accès depuis la classe Accès depuis une sous-classe Accès depuis l’extérieur
public
protected
private

🧭 Prochaine étape

Dans le prochain chapitre, tu découvriras le concept fondamental d’héritage en TypeScript : comment une classe peut étendre une autre classe pour réutiliser et enrichir son comportement.

Souhaites-tu passer au Chapitre 3 du Module 2 : Héritage en TypeScript ?