OUJOOD.COM
📖 Les trois niveaux d’accès principaux
public: accessible de partout (par défaut)private: accessible uniquement à l’intérieur de la classeprotected: accessible dans la classe et dans les classes héritées
🔓 Exemple avec public (accès libre)
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é
publicest 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)
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
soldeest 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é)
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
nomest accessible dans la sous-classeManager- Mais pas accessible en dehors des classes (ex :
m.nominterdit)
📌 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 ?