Menu
Coddy logo textTech

Methoden, die den Zustand ändern

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

Methoden in JavaScript-Klassen können den Zustand (Eigenschaften) eines Objekts ändern. Dies ist eines der Hauptmerkmale der objektorientierten Programmierung.

Erstellen wir eine einfache BankAccount-Klasse:

class BankAccount {
  constructor(owner, balance = 0) {
    this.owner = owner;
    this.balance = balance;
  }
  
  deposit(amount) {
    this.balance += amount;
  }
}

Lassen Sie uns nun eine Instanz erstellen und ihren Zustand ändern:

const johnsAccount = new BankAccount("John", 100);
console.log(johnsAccount.balance); // Ausgabe: 100

johnsAccount.deposit(50);
console.log(johnsAccount.balance); // Ausgabe: 150

In diesem Beispiel modifiziert die deposit()-Methode den internen Zustand (die balance-Eigenschaft) der BankAccount-Instanz.

Wir können weitere zustandsverändernde Methoden hinzufügen:

class BankAccount {
  constructor(owner, balance = 0) {
    this.owner = owner;
    this.balance = balance;
  }
  
  deposit(amount) {
    this.balance += amount;
  }
  
  withdraw(amount) {
    if (amount <= this.balance) {
      this.balance -= amount;
    }
  }
  
  transfer(amount, toAccount) {
    if (amount <= this.balance) {
      this.balance -= amount;
      toAccount.balance += amount;
    }
  }
}

Nun können wir unser Bankkonto auf vielfältige Weise manipulieren.

challenge icon

Aufgabe

Gegeben ist eine Thermostat Klasse. Ihre Aufgabe ist es, Methoden hinzuzufügen, die den Temperaturzustand ändern:

  1. increaseTemp() – erhöht die Temperatur um 1 Grad
  2. decreaseTemp() – verringert die Temperatur um 1 Grad

Probier es selbst

import { Thermostat } from './thermostat.js';

// Testcode - nicht ändern
const livingRoom = new Thermostat("Living Room", 20);

livingRoom.increaseTemp();
livingRoom.increaseTemp();
console.log(livingRoom.currentTemp); // Sollte 22 ausgeben

livingRoom.decreaseTemp();
console.log(livingRoom.currentTemp); // Sollte 21 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

Übe selbstständig: Online-JavaScript-Compiler