⊗tsSpOpAMPrt 11 of 37 menu

Modifikatoren protected i TypeScript

Private egenskaber og metoder nedarves ikke af efterkommere. Nogle gange har vi dog brug for, at en egenskab eller metode ikke er tilgængelig udefra, men nedarves af efterkommere. I dette tilfælde bør du bruge modifikatoren protected.

Lad os prøve det i praksis. Lad os erklære en metode cape i vores klasse User som beskyttet ved hjælp af modifikatoren protected:

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

Lad os lave en klasse Student, som arver fra klassen User:

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

Lad os tilføje en metode, der viser navnet:

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

Og lad os nu bruge den beskyttede metode fra forælderen inde i efterkommerens metode:

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

Lad os oprette et objekt af vores klasse:

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

Lad os bruge metoden til at vise studenten:

console.log(student.showName());

Men et forsøg på at kalde metoden cape udefra klassen vil føre til en fejl:

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

Følgende klasse er givet:

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

Arv fra denne klasse en klasse Employee, der tilføjer en beskyttet egenskab salary, samt gettere for alle egenskaber, både egne og arvede.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικά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
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis