⊗tsSpOpAMPrt 11 of 37 menu

Die protected modifier in TypeScript

Private eienskappe en metodes word nie deur nakomelinge geërf nie. Soms, eger, het ons nodig dat 'n eienskap of metode nie van buite toeganklik is nie, maar wel deur nakomelinge geërf word. In hierdie geval moet die modifier protected gebruik word.

Kom ons probeer dit in die praktyk. Laat ons in ons klas User die metode cape as beskermd verklaar deur die modifier protected te gebruik:

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

Laat ons 'n klas Student maak, wat van die klas User erf:

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

Kom ons voeg 'n metode by wat die naam vertoon:

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

En nou gebruik ons die beskermde metode van die ouer binne 'n metode van die nakomeling:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.cape(this.name); // gebruik die metode van die ouer } }

Kom ons skep 'n objek van ons klas:

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

Kom ons gebruik die metode om die student se naam te vertoon:

console.log(student.showName());

Maar 'n poging om die metode cape van buite die klas te roep sal tot 'n fout lei:

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

Die volgende klas word gegee:

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

Erf van hierdie klas 'n klas Employee, wat 'n beskermde eienskap salary sal byvoeg, sowel as getters vir alle eienskappe, beide sy eie en die geërfde eienskappe.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp