⊗jsOpIhOPM 31 of 60 menu

Overstyrning av foreldremetoder i OOP i JavaScript

En underklasse kan overstyre en metode fra foreldreklassen ved å opprette en metode med samme navn. La oss se på et eksempel. La oss si at vi har følgende foreldreklasse:

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

La oss i underklassen opprette en metode med samme navn:

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

Vanligvis er hensikten med å overstyre metoder fra foreldreklassen å endre eller supplere oppførselen til denne metoden. La oss i vårt tilfelle legge til en sjekk av navnelengden:

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

La oss forsikre oss om at det er den overstyrte metoden som kalles. La oss først opprette et objekt av underklassen:

let student = new Student;

La oss nå kalle metoden vår, og gi den en korrekt verdi:

student.setName('john');

La oss nå kalle metoden, og gi den en ukorrekt verdi. Som et resultat vil vi se en utløst feil i konsollen:

student.setName(''); // feil

I klassen User skal du lage getter og setter for alder.

I klassen Employee skal du overstyre setteren for alder og implementere en sjekk for at alderen er mellom 18 og 65 år.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis