⊗tsSpOpAMPrt 11 of 37 menu

Le modificateur protected dans TypeScript

Les propriétés et méthodes privées ne sont pas héritées par les descendants. Cependant, parfois, nous avons besoin qu'une propriété ou méthode ne soit pas accessible de l'extérieur, mais soit héritée par les descendants. Dans ce cas, il convient d'utiliser le modificateur protected.

Essayons en pratique. Déclarons dans notre classe User une méthode cape comme protégée à l'aide du modificateur protected :

class User { protected cape(str: string) { return str[0].toUpperCase() + str.slice(1); } }

Créons une classe Student, héritant de la classe User :

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } }

Ajoutons une méthode affichant le nom :

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.name; } }

Et maintenant, utilisons la méthode protégée du parent à l'intérieur d'une méthode du descendant :

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.cape(this.name); // utilisons la méthode du parent } }

Créons un objet de notre classe :

let student: Student = new Student('john');

Utilisons la méthode pour afficher l'étudiant :

console.log(student.showName());

En revanche, une tentative d'appeler la méthode cape de l'extérieur de la classe entraînera une erreur :

console.log(student.cape('test')); // erreur

La classe suivante est donnée :

class User { protected name: string; protected surn: string; constructor(name: string, surn: string) { this.name = name; this.surn = surn; } }

Héritez de cette classe une classe Employee, qui ajoutera une propriété protégée salary, ainsi que des getters pour toutes les propriétés, les siennes et celles héritées.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser