⊗tsSpOpAMPrt 11 of 37 menu

Modificatorul protected în TypeScript

Proprietățile și metodele private nu sunt moștenite de clasele descendente. Uneori, totuși, avem nevoie ca o proprietate sau o metodă să nu fie accesibilă din exterior, dar să fie moștenită de descendenti. În acest caz, ar trebui să folosim modificatorul protected.

Să încercăm în practică. Să declarăm în clasa noastră User metoda cape ca fiind protejată cu ajutorul modificatorului protected:

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

Să facem clasa Student, care moștenește din clasa User:

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

Să adăugăm o metodă care afișează numele:

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

Și acum să folosim metoda protejată a părintelui în interiorul metodei descendentului:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.cape(this.name); // folosim metoda părintelui } }

Să creăm un obiect al clasei noastre:

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

Să folosim metoda pentru afișarea studentului:

console.log(student.showName());

Însă o încercare de a apela metoda cape din exteriorul clasei va duce la o eroare:

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

Este dată următoarea clasă:

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

Moșteniți din această clasă clasa Employee, care va adăuga o proprietate protejată salary, precum și getteri pentru toate proprietățile, atât cele proprii, cât și cele moștenite.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge