Dans TypeScript, un modificateur d'accès est un mot-clé ajouté à la déclaration d'un membre pour contrôler sa visibilité. Il existe trois types de modificateurs d'accès dans TypeScript : public, privé et protégé. Ces modificateurs sont une partie essentielle de la programmation orientée objet (POO) en TypeScript, permettant une encapsulation efficace des données.
public
Par défaut, tous les membres (propriétés et méthodes) de la classe sont public
en TypeScript. Cela signifie que vous pouvez y accéder n'importe où, que ce soit à l'intérieur de la classe où ils sont déclarés ou à partir d'un objet de la classe.
Exemple :
class Voiture {
public marque: string;
constructor(marque: string) {
this.marque = marque;
}
}
let maVoiture = new Voiture("Toyota");
console.log(maVoiture.marque); // "Toyota"
private
Le modificateur private
restreint l'accès aux membres de la classe où ils sont déclarés. Vous ne pouvez pas y accéder à partir d'un objet de la classe ou d'une classe dérivée.
Exemple :
class Voiture {
private marque: string;
constructor(marque: string) {
this.marque = marque;
}
}
let maVoiture = new Voiture("Toyota");
console.log(maVoiture.marque); // Erreur de compilation
protected
Enfin, le modificateur protected
fonctionne de la même manière que le modificateur private
, à l'exception que vous pouvez y accéder à partir de classes dérivées.
Exemple :
class Voiture {
protected marque: string;
constructor(marque: string) {
this.marque = marque;
}
}
class VoitureDeSport extends Voiture {
afficherMarque(): void {
console.log(this.marque);
}
}
let maVoiture = new VoitureDeSport("Toyota");
maVoiture.afficherMarque(); // "Toyota"
Ainsi, la bonne réponse au quiz est "Tous les précédents", car tous les modificateurs d'accès (public, privé, et protégé) sont pris en charge par TypeScript. Ils sont tous fondamentaux pour la pratique de la POO en TypeScript pour maintenir l'encapsulation correcte des données et contrôler la visibilité des membres de la classe.