37 of 60 menu

Պաշտպանված մեթոդները OOP-ում JavaScript-ում

Մասնավոր մեթոդները չեն ժառանգվում և տեսանելի չեն դասի սահմաններից դուրս: Սակայն երբեմն անհրաժեշտ են մեթոդներ, որոնք ժառանգվում են, բայց տեսանելի չեն դասի սահմաններից դուրս: Նման մեթոդները կոչվում են պաշտպանված (protected): Ցավոք, JavaScript-ը չի աջակցում նման մեթոդներ:

Ուստի ես առաջարկում եմ ներմուծել որոշակի համաձայնություն, որը թույլ կտա ստեղծել նման մեթոդներ: Մենք կսկսենք նման մեթոդների անունները underscore-ով: Փաստորեն մենք օգտագործում ենք մասնավոր մեթոդների հին, ընդհանուր ընդունված համաձայնությունը: Միայն թե նման մեթոդները մենք կանվանենք պաշտպանված որպես նշան, որ դրանք ժառանգվում են, բայց մենք չենք օգտագործի դրանք դասի սահմաններից դուրս: Ի դեպ, հենց այդպես դրանք և օգտագործվում են ըստ հին համաձայնության:

Այսպիսով, եկեք գրենք ծնողական դաս պաշտպանված մեթոդով.

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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել