⊗tsSpOpAMPrt 11 of 37 menu

Modifikatorius protected TypeScript kalba

Privatūs savybės ir metodai nepaveldimi pavaldiniais. Kartais, tačiau, mums reikia, kad savybė ar metodas nebūtų prieinami iš išorės, bet būtų paveldimi pavaldiniais. Tokiu atveju reikėtų naudoti modifikatorių protected.

Išbandykime praktiškai. Apibrėžkime savo klasėje User metodą cape kaip apsaugotą naudodami modifikatorių protected:

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

Sukurkime klasę Student, paveldinčią iš klasės User:

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

Pridėkime metodą, rodantį vardą:

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

O dabar panaudokime apsaugotą metodą tėvinės klasės viduje pavaldinio metodo:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.cape(this.name); // naudojame tėvinės klasės metodą } }

Sukurkime savo klasės objektą:

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

Naudokimės metodu studento atvaizdavimui:

console.log(student.showName());

Tačiau bandymas iškviesti metodą cape iš išorės sukels klaidą:

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

Pateikta ši klasė:

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

Paveldėkite iš šios klasės klasę Employee, kuri pridės apsaugotą savybę salary, taip pat visų savybių, tiek savų, tiek paveldėtų, getter'ius.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti