Menu
Coddy logo textTech

Das extends-Schlüsselwort

Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy — Lektion 26 von 56.

Das Schlüsselwort extends in JavaScript wird verwendet, um eine Kindklasse zu erstellen, die Eigenschaften und Methoden von einer Elternklasse erbt.

Erstellen wir zunächst eine Basisklasse:

class Animal {
  constructor(name) {
    this.name = name;
  }
  
  speak() {
    return `${this.name} makes a noise.`;
  }
}

Lassen Sie uns nun eine Kind-Klasse erstellen, die die Eltern-Klasse erweitert:

class Dog extends Animal {
  // Die Klasse Dog erbt von Animal
}

Dieser einfache Code bedeutet, dass die Dog-Klasse nun alle Eigenschaften und Methoden von der Animal-Klasse erbt.

Erstelle eine Dog-Instanz:

const dog = new Dog('Rex');

Rufen Sie eine von der Elternklasse geerbte Methode auf:

console.log(dog.speak()); // Ausgabe: "Rex makes a noise."

Das Schlüsselwort extends erstellt eine Vererbungsbeziehung, bei der die Kindklasse (Dog) auf alle in der Elternklasse (Animal) definierten Funktionalitäten zugreifen und diese nutzen kann.

challenge icon

Aufgabe

Erstelle eine Student-Klasse, die die Person-Klasse unter Verwendung des extends-Schlüsselworts erweitert und exportiere sie.

Spickzettel

Das Schlüsselwort extends erstellt eine Kindklasse, die Eigenschaften und Methoden von einer Elternklasse erbt:

class Animal {
  constructor(name) {
    this.name = name;
  }
  
  speak() {
    return `${this.name} makes a noise.`;
  }
}

class Dog extends Animal {
  // Dog erbt von Animal
}

const dog = new Dog('Rex');
console.log(dog.speak()); // Ausgabe: "Rex makes a noise."

Die Kindklasse kann auf alle Eigenschaften und Methoden der Elternklasse zugreifen.

Probier es selbst

import { Student } from './classes.js';

// Testcode - nicht ändern
const student = new Student("Emma");
console.log(student.greet());  // Sollte "Hello, I'm Emma" ausgeben
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung