⊗jsOpIhPtM 37 of 60 menu

Методҳои муҳофизатшуда дар ООП дар JavaScript

Методҳои хусусӣ мерос гирифта намешаванд ва аз берун ба назар намерасанд. Гоҳо, аммо, методҳое лозим мешаванд, ки мерос гирифта мешаванд, аммо аз берун ба назар намерасанд. Чунин методҳо муҳофизатшуда (protected) номида мешаванд. JavaScript, мутаассифона, чунин методҳоро дастгирӣ намекунад.

Аз ин рӯ, ман пешниҳод мекунам, ки як созишномае ворид кунем, ки имкон медиҳад чунин методҳо сохта шаванд. Номҳои чунин методҳоро бо хати зерин оғоз мекунем. Дар асл мо созишномаи қадимаи умумалқабулшударо дар бораи методҳои махфӣ истифода мебарем. Фақат чунин методҳоро муҳофизатшуда меномем, барои он ки онҳо мерос гирифта мешаванд, аммо мо онҳоро аз берун истифода намебарем. Ҳарчанд, ҳамин тавр онҳо аз рӯи созишномаи қадим истифода мешаванд.

Пас, биёед класс-волеро бо методҳои муҳофизатшуда нависем:

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çeЎзбекOʻzbekTiếng Việt
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан