⊗tsSpOpAMPrt 11 of 37 menu

De protected modifier in TypeScript

Privé-eigenschappen en -methoden worden niet geërfd door subklassen. Soms hebben we echter nodig dat een eigenschap of methode niet van buitenaf toegankelijk is, maar wel wordt geërfd door subklassen. In dat geval moeten we de modifier protected gebruiken.

Laten we het in de praktijk proberen. Laten we in onze klasse User een methode cape declareren als beschermd met behulp van de modifier protected:

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

Laten we een klasse Student maken, die erft van de klasse User:

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

Laten we een methode toevoegen die de naam weergeeft:

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

En laten we nu de beschermde methode van de ouderklasse gebruiken binnen een methode van de subklasse:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.cape(this.name); // gebruiken de methode van de ouder } }

Laten we een object van onze klasse aanmaken:

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

Laten we de methode gebruiken om de student weer te geven:

console.log(student.showName());

Maar een poging om de methode cape van buiten de klasse aan te roepen, zal resulteren in een fout:

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

Gegeven de volgende klasse:

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

Erf van deze klasse een klasse Employee, die een beschermde eigenschap salary toevoegt, evenals getters voor alle eigenschappen, zowel zijn eigen, als de geërfde.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren