Menu
Coddy logo textTech

Geerbte Methoden überschreiben

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

Method Overriding (Methoden-Überschreiben) tritt auf, wenn eine Kindklasse eine eigene Implementierung einer Methode bereitstellt, die sie von einer Elternklasse geerbt hat. Die Version der Kindklasse „überschreibt“ (ersetzt) die Version der Elternklasse.

Einfaches Beispiel:

Erstellen Sie eine Basisklasse mit einer Methode:

class Vehicle {
  start() {
    return "Vehicle starting...";
  }
}

Erstellen Sie eine Kind-Klasse, die die Eltern-Klasse erweitert:

class Car extends Vehicle {
  // Dies ÜBERSCHREIBT die start()-Methode von Vehicle
  start() {
    return "Car engine roaring to life!";
  }
}

Verwenden Sie die Klassen:

const vehicle = new Vehicle();
const car = new Car();

console.log(vehicle.start());      // "Vehicle starting..." (Original)
console.log(car.start());          // "Car engine roaring to life!" (überschrieben)

Wichtige Regeln für das Überschreiben:

  1. Gleicher Methodenname wie beim Parent
  1. Gleiche oder kompatible Parameter
  1. Die Version des Kind-Objekts wird aufgerufen bei Kind-Objekten
  1. Keine speziellen Schlüsselwörter erforderlich – definieren Sie einfach die Methode
challenge icon

Aufgabe

Dir ist eine Elternklasse Shape und eine Kindklasse Circle gegeben. Die Elternklasse verfügt über eine Methode calculateArea(), die 0 zurückgibt.

Deine Aufgabe ist es, die Methode calculateArea() in der Klasse Circle zu überschreiben, um den tatsächlichen Flächeninhalt eines Kreises zu berechnen.

Die Formel für den Kreisinhalt lautet: π × radius²
In JavaScript: Math.PI * this.radius * this.radius

Probier es selbst

import { Shape } from './shapes.js';
import { Circle } from './shapes.js';

// Teste deine Implementierung
const myCircle = new Circle(5);
console.log(myCircle.calculateArea());
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