⊗tsSpOpAMPrt 11 of 37 menu

TypeScript да protected модификатори

Хусусий хусусиятлар ва методлар авлодлар томониidan мерос қолинмайди. Аммо, баъзан бизга хусусият ёки метод ташқаридан мураккаб бўлиши, аммо авлодларда мавжуд бўлиши керак бўлади. Бундай ҳолда protected модификаторини ишлатиш керак.

Келинг, амалда синаб кўрамиз. Бизнинг User синфимизда cape методни protected модификатори ёрдамида ҳимояланган қилиб эълон қиламиз:

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

User синфидан мерос олувчи Student синфини яратамиз:

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हिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш