In deze zelfstudie leert u met behulp van voorbeelden over het overnemen van JavaScript-klassen.
Klasse-overerving
Overerving stelt u in staat een klasse te definiëren die alle functionaliteit van een bovenliggende klasse overneemt en waarmee u meer kunt toevoegen.
Door klasse-overerving te gebruiken, kan een klasse alle methoden en eigenschappen van een andere klasse erven.
Overerving is een handige functie waarmee code herbruikbaar is.
Om klasse-overerving te gebruiken, gebruikt u het extendstrefwoord. Bijvoorbeeld,
// parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( ) let student1 = new Student('Jack'); student1.greet();
Uitvoer
Hoi Jack
In het bovenstaande voorbeeld Studenterft de klasse alle methoden en eigenschappen van de Personklasse. Daarom heeft de Studentklasse nu de nameeigenschap en de greet()methode.
Vervolgens hebben we toegang gekregen tot de greet()methode van Studentklasse door een student1object te maken.
JavaScript super () trefwoord
Het supersleutelwoord dat in een onderliggende klasse wordt gebruikt, geeft de bovenliggende klasse aan. Bijvoorbeeld,
// parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( console.log("Creating student class"); // call the super class constructor and pass in the name parameter super(name); ) ) let student1 = new Student('Jack'); student1.greet();
Hier verwijst superinside Studentclass naar de Personklas. Wanneer de constructor van de Studentklasse wordt aangeroepen, roept deze dus ook de constructor van de Personklasse aan die er een eigenschap name aan toewijst.
Methode of eigenschap overschrijven
Als een onderliggende klasse dezelfde methode of eigenschapnaam heeft als die van de bovenliggende klasse, gebruikt deze de methode en eigenschap van de onderliggende klasse. Dit concept wordt methode overschrijven genoemd. Bijvoorbeeld,
// parent class class Person ( constructor(name) ( this.name = name; this.occupation = "unemployed"; ) greet() ( console.log(`Hello $(this.name).`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( // call the super class constructor and pass in the name parameter super(name); // Overriding an occupation property this.occupation = 'Student'; ) // overriding Person's method greet() ( console.log(`Hello student $(this.name).`); console.log('occupation: ' + this.occupation); ) ) let p = new Student('Jack'); p.greet();
Uitvoer
Hallo student Jack. beroep: student
Hier zijn de occupationeigenschap en de greet()methode aanwezig in de bovenliggende Personklasse en de onderliggende Studentklasse. Daarom Studentoverschrijft de klasse de occupationeigenschap en de greet()methode.
Gebruik van overerving
- Omdat een onderliggende klasse alle functionaliteiten van de bovenliggende klasse kan erven, is herbruikbaarheid van code mogelijk.
- Zodra een functionaliteit is ontwikkeld, kunt u deze eenvoudig overnemen. U hoeft het wiel niet opnieuw uit te vinden. Dit zorgt voor een schonere code en is gemakkelijker te onderhouden.
- Omdat u ook uw eigen functionaliteiten in de kindklasse kunt toevoegen, kunt u alleen de nuttige functionaliteiten erven en andere vereiste functies definiëren.








