⊗jsOpIhCOM 32 of 60 menu

Ylikirjoitetun metodin kutsuminen OOP:ssa JavaScriptissä

Ylikirjoitettaessa jälkeläinen menettää ylikirjoitettuun metodiin kantaluokan. Kuitenkin siihen pääsy on edelleen mahdollista. Tämä tehdään avainsanalla super, joka viittaa kantaluokkaan.

Katsotaanpa esimerkkiä, jolloin saatamme tarvita pääsyn kantaluokan metodiin. Oletetaan, että meillä on seuraava kantaluokka:

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

Oletetaan, että jälkeläisluokassa ylikirjoitimme kantaluokan metodin:

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

Voidaan huomata, että ylikirjoitetussa metodissa ehdon täyttyessä käytännössä suoritetaan kantaluokan metodin koodi. Tuloksena on tarpeeton koodin kaksoiskappale.

Siitä voi päästä eroon, jos kutsutaan kantaluokan metodia. Tehdäänpä niin:

class Student extends User { setName(name) { if (name.length > 0) { super.setName(name); // kantaluokan metodi } else { throw new Error('opiskelijan nimen virhe'); } } }

Annettu on seuraava koodi:

class User { setAge(age) { if (age >= 0) { this.age = age; } else { throw new Error('tarvitaan ikä enemmän kuin 0'); } } } class Employee { setAge(age) { if (age <= 120) { if (age >= 0) { this.age = age; } else { throw new Error('tarvitaan ikä enemmän kuin 0'); } } else { throw new Error('tarvitaan ikä vähemmän kuin 120'); } } }

Luokassa Employee korjaa (yksinkertaista) ikän asettaja käyttämällä kantaluokan alkuperäistä metodia.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää