⊗jsOpIhPtM 37 of 60 menu

Saugūs metodai OOP JavaScripte

Privatūs metodai nepaveldimi ir nematomi iš klasės išorės. Kartais, tačiau, reikia metodų, kurie yra paveldimi, bet nematomi iš išorės klasės. Tokie metodai vadinami saugiais (protected). JavaScript, deja, nepalaiko tokių metodų.

Todėl siūlau įvesti tam tikrą sutartį, leidžiančią kurti tokius metodus. Tokių metodų pavadinimus pradėsime pabraukimu. Iš esmės mes naudosime seną visuotinai priimtą privačių metodų sutartį. Tik tokius metodus vadinsime saugiais kaip rodymą, kad jie yra paveldimi, bet nenaudosime jų iš išorės. Beje, būtent taip jie ir naudojami pagal senąją sutartį.

Taigi, parašykime tėvinę klasę su saugiu metodu:

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

Panaudokime šį saugų metodą vaikinėje klasėje:

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

Toliau pateiktame kode padarykite pagalbinį metodą saugiu:

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; } }
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti