⊗jsOpIhCOM 32 of 60 menu

Thirrja e metodës së ripërcaktuar në OOP në JavaScript

Gjatë ripërcaktimit, pasardhësi humb qasjen në metodën e ripërcaktuar të prindit. Megjithatë, mund të merret qasja në të. Kjo bëhet duke përdorur fjalën kyçe super, e cila tregon te klasa prind.

Le të shohim një shembull kur mund të na duhet qasje në metodën prind. Le të themi se kemi klasën prind të mëposhtme:

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

Le të themi se në klasën-pasardhës ne kemi ripërcaktuar metodën e prindit:

class Student extends User { setName(name) { if (name.length > 0) { this.name = name; } else { throw new Error('gabim në emrin e studentit'); } } }

Mund të vërehet se në metodën e ripërcaktuar gjatë plotësimit të kushtit në thelb ekzekutohet kodi i metodës prind. Rezulton një dublim i panevojshëm kodi.

Mund të shpëtohet prej tij, nëse thirret metoda e prindit. Le ta bëjmë këtë:

class Student extends User { setName(name) { if (name.length > 0) { super.setName(name); // metoda e prindit } else { throw new Error('gabim në emrin e studentit'); } } }

Jepet kodi i mëposhtëm:

class User { setAge(age) { if (age >= 0) { this.age = age; } else { throw new Error('nevojitet mosha më shumë se 0'); } } } class Employee { setAge(age) { if (age <= 120) { if (age >= 0) { this.age = age; } else { throw new Error('nevojitet mosha më shumë se 0'); } } else { throw new Error('nevojitet mosha më pak se 120'); } } }

Në klasën Employee korrigjoni thjeshtoni vendosësin e moshës, duke përdorur metodën origjinale të prindit.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo