⊗jsOpIhCOM 32 of 60 menu

Klicanje preglasene metode v OOP v JavaScriptu

Pri preglasitvi potomec izgubi dostop do preglasene metode starša. Vendar pa je do njega še vedno mogoče pridobiti dostop. To se naredi s ključno besedo super, ki kaže na nadrejeni razred.

Poglejmo si primer, kdaj bomo morda potrebovali dostop k metodi starša. Recimo, da imamo naslednji razred-starš:

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

Recimo, da smo v razredu-potomcu preglasili metodo starša:

class Student extends User { setName(name) { if (name.length > 0) { this.name = name; } else { throw new Error('napaka imena študenta'); } } }

Opazimo lahko, da se v preglaseni metodi ob izpolnjevanju pogoja dejansko izvede koda metode starša. Izkazalo se je, da je nepotrebno podvajanje kode.

Lahko se ga znebimo, če pokličemo metodo starša. Naredimo to:

class Student extends User { setName(name) { if (name.length > 0) { super.setName(name); // metoda starša } else { throw new Error('napaka imena študenta'); } } }

Podana je naslednja koda:

class User { setAge(age) { if (age >= 0) { this.age = age; } else { throw new Error('potrebna starost večja od 0'); } } } class Employee { setAge(age) { if (age <= 120) { if (age >= 0) { this.age = age; } else { throw new Error('potrebna starost večja od 0'); } } else { throw new Error('potrebna starost manjša od 120'); } } }

V razredu Employee popravite poenostavite nastavitev starosti z uporabo izvirne metode starša.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni