32 of 60 menu

Վերագրված մեթոդի կանչը OOP-ում JavaScript-ում

Վերագրելիս ժառանգը կորցնում է մուտքը ծնողի վերագրված մեթոդին: Սակայն, դրան հասնելը հնարավոր է: Դա արվում է օգտագործելով super բանալի բառը, որը ցույց է տալիս ծնողական դասը:

Դիտարկենք մի օրինակ, երբ մեզ կարող է անհրաժեշտ լինել մուտք ծնողական մեթոդին: Ենթադրենք ունենք հետևյալ ծնողական դասը:

class User { setName(name) { this.name = name; } getName() { return this.name; } }

Ենթադրենք՝ ժառանգ դասում մենք վերագրեցինք ծնողի մեթոդը:

class Student extends User { setName(name) { if (name.length > 0) { this.name = name; } else { throw new Error('student name error'); } } }

Նկատելի է, որ վերագրված մեթոդում պայմանի կատարման դեպքում փաստորեն կատարվում է ծնողական մեթոդի կոդը: Ստացվում է կոդի ավելորդ կրկնօրինակ:

Դրանից կարելի է ազատվել, եթե կանչել ծնողի մեթոդը: Եկեք անենք դա:

class Student extends User { setName(name) { if (name.length > 0) { super.setName(name); // ծնողի մեթոդը } else { throw new Error('student name error'); } } }

Տրված է հետևյալ կոդը:

class User { setAge(age) { if (age >= 0) { this.age = age; } else { throw new Error('need age more 0'); } } } class Employee { setAge(age) { if (age <= 120) { if (age >= 0) { this.age = age; } else { throw new Error('need age more 0'); } } else { throw new Error('need age less 120'); } } }

Employee դասում ուղղեք տարիքի սետթերը՝ օգտագործելով ծնողի օրիգինալ մեթոդը:

Հայերեն
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-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել