⊗tsSpOpAMPrt 11 of 37 menu

Modifikaator protected TypeScriptis

Privaatsed omadused ja meetodid ei pärine järglastelt. Mõnikord vajame aga, et omadus või meetod ei oleks väliselt kättesaadav, kuid oleks päritud järglaste poolt. Sel juhul tuleks kasutada modifikaatorit protected.

Proovime seda praktikas. Deklareerime oma klassis User meetodi cape kui kaitstud, kasutades modifikaatorit protected:

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

Teeme klassi Student, mis pärineb klassist User:

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

Lisame meetodi, mis kuvab nime:

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

Ja nüüd kasutame kaitstud meetodit vanemast klassi last klassi meetodi sees:

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

Loome oma klassi objekti:

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

Kasutame meetodit õpilase väljastamiseks:

console.log(student.showName());

Kuid katse kutsuda meetodit cape klassist väljapoolt viib veani:

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

Antud on järgmine klass:

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

Pärinege sellest klassist klass Employee, mis lisab kaitstud omaduse salary, ning getterid kõikidele omadustele, nii enda kui ka päritud omadustele.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu