Methoden in JavaScript-Klassen Definieren
Nachdem wir nun wissen, wie man Eigenschaften mit dem Konstruktor hinzufügt, betrachten wir als Nächstes, wie Methoden zu einer Klasse hinzugefügt werden können.
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, deklariert man einfach eine Funktion innerhalb der Klasse, ohne das Schlüsselwort function zu verwenden.
class Animal {
constructor(name, type) {
this.name = name;
this.type = type;
}
// Class method
getInfo() {
return `${this.name} is a ${this.type} animal.`;
}
}
In diesem Beispiel ist getInfo eine Methode der Klasse Animal. Jede Instanz von Animal kann diese Methode aufrufen, um Informationen über die jeweilige Instanz abzurufen.
Wie Methoden mit Instanzen einer Klasse verknüpft sind
Wenn eine Instanz einer Klasse erstellt wird, stehen die innerhalb der Klasse definierten Methoden dieser Instanz automatisch zur Verfügung. Diese Methoden können auf die Eigenschaften der Instanz zugreifen und diese mit dem Schlüsselwort this manipulieren, das sich auf das aktuelle Objekt bezieht.
Methoden können als Werkzeuge betrachtet werden, die jedes Objekt (jede Instanz) mit sich führt. Jedes Objekt besitzt eigene Daten (Eigenschaften), teilt sich jedoch die gleichen Werkzeuge (Methoden), um mit diesen Daten zu interagieren.
Betrachten wir das folgende Beispiel:
1234567891011121314151617class 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.
In diesem Beispiel sind sowohl lion als auch pig Instanzen der Klasse Animal. Die Methode getInfo steht beiden zur Verfügung und liefert unterschiedliche Ergebnisse, abhängig von den Eigenschaften der jeweiligen Instanz, auf der sie aufgerufen wird. Dies zeigt, wie Methoden zwischen Instanzen geteilt werden, aber auf die jeweils spezifischen Daten zugreifen.
Warum Klassenmethoden verwenden?
Klassenmethoden definieren Verhaltensweisen, die für das Objekt spezifisch 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 diese zu verändern.
Beispiel mit einer Methode, die den Objektzustand ändert:
1234567891011121314151617181920class 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.
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?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 2.22
Methoden in JavaScript-Klassen Definieren
Swipe um das Menü anzuzeigen
Nachdem wir nun wissen, wie man Eigenschaften mit dem Konstruktor hinzufügt, betrachten wir als Nächstes, wie Methoden zu einer Klasse hinzugefügt werden können.
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, deklariert man einfach eine Funktion innerhalb der Klasse, ohne das Schlüsselwort function zu verwenden.
class Animal {
constructor(name, type) {
this.name = name;
this.type = type;
}
// Class method
getInfo() {
return `${this.name} is a ${this.type} animal.`;
}
}
In diesem Beispiel ist getInfo eine Methode der Klasse Animal. Jede Instanz von Animal kann diese Methode aufrufen, um Informationen über die jeweilige Instanz abzurufen.
Wie Methoden mit Instanzen einer Klasse verknüpft sind
Wenn eine Instanz einer Klasse erstellt wird, stehen die innerhalb der Klasse definierten Methoden dieser Instanz automatisch zur Verfügung. Diese Methoden können auf die Eigenschaften der Instanz zugreifen und diese mit dem Schlüsselwort this manipulieren, das sich auf das aktuelle Objekt bezieht.
Methoden können als Werkzeuge betrachtet werden, die jedes Objekt (jede Instanz) mit sich führt. Jedes Objekt besitzt eigene Daten (Eigenschaften), teilt sich jedoch die gleichen Werkzeuge (Methoden), um mit diesen Daten zu interagieren.
Betrachten wir das folgende Beispiel:
1234567891011121314151617class 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.
In diesem Beispiel sind sowohl lion als auch pig Instanzen der Klasse Animal. Die Methode getInfo steht beiden zur Verfügung und liefert unterschiedliche Ergebnisse, abhängig von den Eigenschaften der jeweiligen Instanz, auf der sie aufgerufen wird. Dies zeigt, wie Methoden zwischen Instanzen geteilt werden, aber auf die jeweils spezifischen Daten zugreifen.
Warum Klassenmethoden verwenden?
Klassenmethoden definieren Verhaltensweisen, die für das Objekt spezifisch 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 diese zu verändern.
Beispiel mit einer Methode, die den Objektzustand ändert:
1234567891011121314151617181920class 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.
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?
Danke für Ihr Feedback!