⊗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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј