⊗jsOpIhPtM 37 of 60 menu

Абароненыя метады ў ААП у JavaScript

Прыватныя метады не наследуются і не бачныя звонку класа. Часам, аднак, патрэбныя метады, якія наследуются, але не бачныя звонку класа. Такія метады называюцца абароненымі (protected). JavaScript, на жаль, не падтрымлівае такiх метадаў.

Таму я прапаную ўвесці некаторае пагадненне, якое дазваляе ствараць такія метады. Будзем пачынаць імёны такiх метадаў праз падкрэслiванне. Фактычна мы выкарыстоўваем старое агульнапрынятае пагадненне аб закрытых метадах. Toлькі называем такія метады абароненымі у знак таго, што яны наследуются, але мы не будзем выкарыстоўваць iх звонку. Дарэчы, менавіта так яны і ўжываюцца па старажытным пагадненні.

Такім чынам, давайце напiшам клас-бацьку з абароненым метадам:

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); } }

У наступным кодзе зрабiце дапаможны метад абароненым:

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 для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць