Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Klassenmethoden | Klassen
Fortgeschrittene JavaScript-Meisterschaft
course content

Kursinhalt

Fortgeschrittene JavaScript-Meisterschaft

Fortgeschrittene JavaScript-Meisterschaft

2. DOM-Manipulation
3. Ereignisse und Ereignisbehandlung
4. Asynchrones JavaScript und APIs

book
Klassenmethoden

Jetzt, da wir wissen, wie man Eigenschaften mit dem Konstruktor hinzufügt, lassen Sie uns erkunden, wie man Methoden zu einer Klasse hinzufügt.

Definieren und Verwenden von Klassenmethoden

Diese Methoden arbeiten typischerweise mit den Eigenschaften des Objekts und bieten eine Möglichkeit, mit dessen Daten zu interagieren.

Um eine Klassenmethode zu definieren, deklarieren Sie einfach eine Funktion innerhalb der Klasse, ohne das Schlüsselwort function zu verwenden.

In diesem Beispiel ist getInfo eine Methode der Animal-Klasse. Jede Instanz von Animal kann diese Methode aufrufen, um Informationen über diese bestimmte Instanz abzurufen.

Wie Methoden mit Instanzen einer Klasse verknüpft sind

Wenn Sie eine Instanz einer Klasse erstellen, werden die innerhalb der Klasse definierten Methoden automatisch für diese Instanz verfügbar. Diese Methoden können auf die Eigenschaften der Instanz zugreifen und diese manipulieren, indem sie das Schlüsselwort this verwenden, das sich auf das aktuelle Objekt bezieht.

Denken Sie an Methoden als Werkzeuge, die jedes Objekt (Instanz) mit sich führt. Jedes Objekt hat seine eigenen Daten (Eigenschaften), aber sie teilen sich die gleichen Werkzeuge (Methoden), um mit diesen Daten zu interagieren.

Betrachten wir das Beispiel:

1234567891011121314151617
class Animal { constructor(name, type) { this.name = name; this.type = type; } // Class method getInfo() { return `${this.name} is a ${this.type} animal.`; } } const lion = new Animal('Lion', 'Wild'); console.log(lion.getInfo()); // Output: Lion is a Wild animal. const pig = new Animal('Pig', 'Domestic'); console.log(pig.getInfo()); // Output: Pig is a Domestic animal.
copy

In diesem Beispiel sind sowohl lion als auch pig Instanzen der Animal Klasse. Die getInfo Methode ist für beide verfügbar und liefert unterschiedliche Ergebnisse basierend auf den Eigenschaften der spezifischen Instanz, auf der sie aufgerufen wird. Dies zeigt, wie Methoden über Instanzen hinweg geteilt werden, aber auf daten spezifisch für jede einzelne Instanz operieren.

Warum Klassenmethoden verwenden?

Klassenmethoden definieren Verhaltensweisen, die spezifisch für das Objekt sind. Sie machen den Code modularer, wartbarer und schaffen eine klare Trennung der Verantwortlichkeiten. Anstatt Objekteigenschaften direkt zu manipulieren, bieten Klassenmethoden eine kontrollierte Möglichkeit, mit den Daten des Objekts zu interagieren und sie zu ändern.

Beispiel mit einer Methode, die den Objektzustand ändert:

1234567891011121314151617181920
class Animal { constructor(name, type) { this.name = name; this.type = type; } getInfo() { return `${this.name} is a ${this.type} animal.`; } changeType(newType) { this.type = newType; } } const lion = new Animal('Lion', 'Wild'); console.log(lion.getInfo()); // Output: Lion is a Wild animal. lion.changeType('Domestic'); console.log(lion.getInfo()); // Output: Lion is a Domestic animal.
copy

In diesem Beispiel ermöglicht die Methode changeType, die Eigenschaft type des Objekts zu aktualisieren. Dies zeigt, wie Methoden Logik kapseln können, die den Zustand des Objekts direkt beeinflusst.

1. Was ist eine Klassenmethode?

2. Wie definiert man in einer Klasse eine Methode namens speak, die eine Instanz verwenden kann?

3. Was gibt der folgende Code aus?

Was ist eine Klassenmethode?

Was ist eine Klassenmethode?

Wählen Sie die richtige Antwort aus

Wie definiert man in einer Klasse eine Methode namens `speak`, die eine Instanz verwenden kann?

Wie definiert man in einer Klasse eine Methode namens speak, die eine Instanz verwenden kann?

Wählen Sie die richtige Antwort aus

Was gibt der folgende Code aus?

Was gibt der folgende Code aus?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 4
We're sorry to hear that something went wrong. What happened?
some-alt