⊗tsSpOpAMPrt 11 of 37 menu

protected մոդիֆիկատորը TypeScript-ում

Մասնավոր հատկություններն ու մեթոդները չեն ժառանգվում սերունդների կողմից: Սակայն երբեմն մեզ անհրաժեշտ է, որ հատկությունը կամ մեթոդը հասանելի չլինեն դրսից, բայց ժառանգվեն սերունդների կողմից: Այս դեպքում պետք է օգտագործել protected մոդիֆիկատորը:

Եկեք փորձարկենք գործնականում: Մեր User դասում cape մեթոդը հայտարարենք որպես պաշտպանված՝ օգտագործելով protected մոդիֆիկատորը:

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

Ստեղծենք Student դասը, որը ժառանգում է User դասից:

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

Ավելացնենք անունը ցուցադրող մեթոդ.

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

Այժմ օգտագործենք ծնողի պաշտպանված մեթոդը սերնդի մեթոդի ներսում.

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.cape(this.name); // օգտագործում ենք ծնողի մեթոդը } }

Ստեղծենք մեր դասի օբյեկտը.

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

Օգտագործենք մեթոդը ուսանողին ցուցադրելու համար.

console.log(student.showName());

Սակայն դասից դուրս cape մեթոդը կանչելու փորձը կհանգեցնի սխալի.

console.log(student.cape('test')); // սխալ

Տրված է հետևյալ դասը.

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

Ժառանգեք այս դասից Employee դասը, որը կավելացնի պաշտպանված salary հատկությունը, ինչպես նաև բոլոր հատկությունների գետերներն էլ՝ ինչպես սեփականը, այնպես էլ ժառանգվածը։

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել