⊗jsOpIhCOM 32 of 60 menu

Выклік пераазначанага метаду ў ААП у 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हिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць