⊗tsSpOpAMPrt 11 of 37 menu

Modifikatoren protected i TypeScript

Private egenskaper og metoder arves ikke av etterkommere. Noen ganger trenger vi imidlertid at en egenskap eller metode ikke er tilgjengelig utenfra, men arves av etterkommere. I dette tilfellet bør modifikatoren protected brukes.

La oss prøve det i praksis. La oss deklarere en metode cape i klassen vår User som beskyttet ved hjelp av modifikatoren protected:

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

La oss lage en klasse Student som arver fra klassen User:

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

La oss legge til en metode som viser navnet:

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

Og la oss nå bruke den beskyttede metoden fra forelderen inni en metode i etterkommeren:

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

La oss opprette et objekt av klassen vår:

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

La oss bruke metoden for å vise studenten:

console.log(student.showName());

Men et forsøk på å kalle metoden cape utenfor klassen vil føre til en feil:

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

Følgende klasse er gitt:

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

Arv fra denne klassen en klasse Employee, som vil legge til en beskyttet egenskap salary, samt gettere for alle egenskaper, både egne og arvede.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis