⊗tsSpOpAMPrt 11 of 37 menu

Modifikátor protected v TypeScript

Súkromné vlastnosti a metódy nie sú dedené potomkami. Niekedy však potrebujeme, aby vlastnosť alebo metóda neboli prístupné zvonku, ale boli zdedené potomkami. V tomto prípade by sme mali použiť modifikátor protected.

Vyskúšajme to v praxi. Deklarujme v našej triede User metódu cape ako chránenú pomocou modifikátora protected:

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

Vytvorme triedu Student, ktorá dedí od triedy User:

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

Pridajme metódu, ktorá zobrazí meno:

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

A teraz použime chránenú metódu rodiča vo vnútri metódy potomka:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.cape(this.name); // použijeme metódu rodiča } }

Vytvorme objekt našej triedy:

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

Použime metódu na zobrazenie študenta:

console.log(student.showName());

Pokus o volanie metódy cape zvonku triedy však spôsobí chybu:

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

Daná je nasledujúca trieda:

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

Zdedte z tejto triedy triedu Employee, ktorá pridá chránenú vlastnosť salary, ako aj gettery všetkých vlastností, ako svojich, tak aj zdedených.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť