⊗jsOpIhPtM 37 of 60 menu

JavaScript да Objectga Yo'naltirilgan Dasturlashда ҳимояланган методлар

Приват методлар мерос қолинмайди ва синфдан ташқарида кўринмайди. Баъзан, аммо, мерос қолинадиган, лекин синфдан ташқарида кўринмайдиган методлар зарур бўлади. Бундай методлар ҳимояланган (protected) деб аталади. JavaScript, афсуски, бундай методларни қўлламayди.

Шу сабабдан мен бундай методларни яратишга имкон берадиган келишувни таклиф қиламан. Бундай методлар номларини таги чазиқ билан бошлаймиз. Аслда биз ёпиқ методлар ҳақидаги эски умумабрра келишувдан фойдаланамиз. Фақат бундай методларни ҳимояланган деб атаймиз, улар мерос қолинади, лекин биз улардан синфдан ташқарида фойдаланмаймиз. Ҳар ҳолда, айнан шундай улар ва қадимги келишувга кўра қўлланилади.

Шунинг учун, келтингиз, ҳимояланган методи бор ота-синфни ёзайлик:

class User { setName(name) { this.name = name; } getName() { return this._capeFirst(this.name); } _capeFirst(str) { return str[0].toUpperCase() + str.slice(1); } }

Ушбу ҳимояланган методдан синф-авлодда фойдаланайлик:

class Student extends User { setSurn(surn) { this.surn = surn; } getSurn() { return this._capeFirst(this.surn); } }

Кейинги кодда ёрдамчи методни ҳимояланган қилинг:

class User { setName(name) { if (this._notEmpty(name)) { this.name = name; } } getName() { return this.name; } _notEmpty(str) { return str.length > 0; } } class Employee extends User { setSurn(surn) { if (this._notEmpty(surn)) { this.surn = surn; } } getSurn() { return this.surn; } }
Ўзбек
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
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш