⊗tsSpOpAMPrt 11 of 37 menu

Modifieraren protected i TypeScript

Privata egenskaper och metoder ärvs inte av underklasser. Ibland behöver vi dock att en egenskap eller metod inte är tillgänglig utifrån, men ärvs av underklasser. I det här fallet bör modifieraren protected användas.

Låt oss prova i praktiken. Låt oss deklarera en metod cape i vår klass User som skyddad med hjälp av modifieraren protected:

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

Låt oss skapa klassen Student som ärver från klassen User:

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

Låt oss lägga till en metod som visar namnet:

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

Och nu använder vi den skyddade metoden från föräldraklassen inuti metoderna i underklassen:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.cape(this.name); // använder förälderns metod } }

Låt oss skapa ett objekt av vår klass:

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

Låt oss använda metoden för att visa studentens namn:

console.log(student.showName());

Men ett försök att anropa metoden cape utifrån klassen kommer att leda till ett fel:

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

Följande klass är given:

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

Ärv från denna klass en klass Employee, som lägger till en skyddad egenskap salary, samt getters för alla egenskaper, både egna och ärvda.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa