⊗jsOpIhOPM 31 of 60 menu

Yliluokan metodien ylikirjoittaminen OOP:ssa JavaScriptissä

Aliluokka voi ylikirjoittaa yliluokan metodin luomalla metodin samalla nimellä. Katsotaanpa esimerkkiä. Oletetaan, että meillä on seuraava yliluokka:

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

Luodaanpa aliluokassa saman niminen metodi:

class Student extends User { setName(name) { } }

Yleensä yliluokan metodien ylikirjoittaminen tarvitaan muuttaakseen tai täydentääkseen kyseisen metodin toimintaa. Lisätäänpä meidän tapauksessamme pituustarkistus nimelle:

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

Varmistetaan, että kutsutaan nimenomaan ylikirjoitettua metodia. Aluksi luodaan olio aliluokasta:

let student = new Student;

Nyt kutsutaan metodia, antamalla sille oikean arvon:

student.setName('john');

Ja nyt kutsutaan metodia antamalla sille väärä arvo. Lopputuloksena näemme konsolissa heitetyn virheen:

student.setName(''); // virhe

Luokassa User tee iän getter ja setter.

Luokassa Employee ylikirjoita iän setter ja tee siihen tarkistus, että ikä on 18 ja 65 vuoden välillä.

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ää