⊗jsOpIhOPM 31 of 60 menu

Överskridande av föräldrametoder i OOP i JavaScript

En underklass kan åsidosätta en förälders metod genom att skapa en metod med samma namn. Låt oss titta på ett exempel. Låt oss säga att vi har följande förälderklass:

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

Låt oss i underklassen skapa en metod med samma namn:

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

Vanligtvis behövs åsidosättande av metoder från föräldern för att ändra eller komplettera beteendet hos denna metod. Låt oss i vårt fall lägga till en kontroll av namnets längd:

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

Låt oss försäkra oss om att det är just den åsidosatta metoden som anropas. Låt oss först skapa ett objekt av underklassen:

let student = new Student;

Låt oss nu anropa vår metod, och skicka ett korrekt värde:

student.setName('john');

Låt oss nu anropa metoden och skicka ett ogiltigt värde. Som ett resultat kommer vi att se ett kastat fel i konsolen:

student.setName(''); // error

I klassen User, skapa en getter och setter för ålder.

I klassen Employee, åsidosätt ålderssettern och gör i den en kontroll att åldern är från 18 till 65 år.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa