Overerving van JavaScript-klassen

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.

Interessante artikelen...