Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Herausforderung: Getter und Setter in Einer Klasse Implementieren | JavaScript-Klassen und Vererbung Meistern
Fortgeschrittene JavaScript-Beherrschung

bookHerausforderung: Getter und Setter in Einer Klasse Implementieren

Aufgabe

Sie arbeiten mit einer Car-Klasse, die eine private Eigenschaft #mileage besitzt. Ihre Aufgabe ist es, Getter und Setter für diese Eigenschaft zu definieren, um den Zugriff und die Modifikation zu steuern.

  1. Getter für Mileage definieren: Definieren Sie einen Getter für die Eigenschaft mileage, um den aktuellen Kilometerstand abzurufen;
  2. Setter für Mileage mit Validierung definieren: Definieren Sie einen Setter für die Eigenschaft mileage, der einen neuen Kilometerstand akzeptiert. Dieser Setter soll:
    • Nur eine Aktualisierung zulassen, wenn der neue Kilometerstand größer als der aktuelle ist (Kilometerstand darf nur steigen);
    • Falls der neue Kilometerstand ungültig ist, soll "Invalid mileage update" protokolliert werden und der aktuelle Kilometerstand unverändert bleiben.
123456789101112131415161718192021222324252627
class Car { #mileage = 1000; // Initial private mileage // Getter for mileage _____ mileage() { return this.#_____; } // Setter for mileage with validation _____ mileage(newMileage) { _____ (_____ > this.#_____) { this.#_____ = newMileage; } _____ { console.log(_____); } } } // Testing const car1 = new Car(); console.log(car1.mileage); // Expected: 1000 car1.mileage = 1500; // Update mileage to 1500 console.log(car1.mileage); // Expected: 1500 car1.mileage = 900; // Attempt invalid mileage update, expected: Invalid mileage update
copy
  • Einen get-Accessor für mileage definieren, um den aktuellen Kilometerstand abzurufen;
  • Einen set-Accessor für mileage definieren, der newMileage als Parameter übernimmt;
  • Im Setter prüfen, ob newMileage größer als der aktuelle Kilometerstand (this.#mileage) ist;
  • Wenn newMileage gültig ist, #mileage auf newMileage aktualisieren;
  • Wenn newMileage nicht größer als der aktuelle Kilometerstand ist, "Invalid mileage update" protokollieren und den Kilometerstand nicht ändern.
123456789101112131415161718192021222324252627
class Car { #mileage = 1000; // Initial private mileage // Getter for mileage get mileage() { return this.#mileage; } // Setter for mileage with validation set mileage(newMileage) { if (newMileage > this.#mileage) { this.#mileage = newMileage; } else { console.log('Invalid mileage update'); } } } // Testing const car1 = new Car(); console.log(car1.mileage); // Output: 1000 car1.mileage = 1500; // Update mileage to 1500 console.log(car1.mileage); // Output: 1500 car1.mileage = 900; // Attempt invalid mileage update, expected: Invalid mileage update
copy

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 10

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 2.22

bookHerausforderung: Getter und Setter in Einer Klasse Implementieren

Swipe um das Menü anzuzeigen

Aufgabe

Sie arbeiten mit einer Car-Klasse, die eine private Eigenschaft #mileage besitzt. Ihre Aufgabe ist es, Getter und Setter für diese Eigenschaft zu definieren, um den Zugriff und die Modifikation zu steuern.

  1. Getter für Mileage definieren: Definieren Sie einen Getter für die Eigenschaft mileage, um den aktuellen Kilometerstand abzurufen;
  2. Setter für Mileage mit Validierung definieren: Definieren Sie einen Setter für die Eigenschaft mileage, der einen neuen Kilometerstand akzeptiert. Dieser Setter soll:
    • Nur eine Aktualisierung zulassen, wenn der neue Kilometerstand größer als der aktuelle ist (Kilometerstand darf nur steigen);
    • Falls der neue Kilometerstand ungültig ist, soll "Invalid mileage update" protokolliert werden und der aktuelle Kilometerstand unverändert bleiben.
123456789101112131415161718192021222324252627
class Car { #mileage = 1000; // Initial private mileage // Getter for mileage _____ mileage() { return this.#_____; } // Setter for mileage with validation _____ mileage(newMileage) { _____ (_____ > this.#_____) { this.#_____ = newMileage; } _____ { console.log(_____); } } } // Testing const car1 = new Car(); console.log(car1.mileage); // Expected: 1000 car1.mileage = 1500; // Update mileage to 1500 console.log(car1.mileage); // Expected: 1500 car1.mileage = 900; // Attempt invalid mileage update, expected: Invalid mileage update
copy
  • Einen get-Accessor für mileage definieren, um den aktuellen Kilometerstand abzurufen;
  • Einen set-Accessor für mileage definieren, der newMileage als Parameter übernimmt;
  • Im Setter prüfen, ob newMileage größer als der aktuelle Kilometerstand (this.#mileage) ist;
  • Wenn newMileage gültig ist, #mileage auf newMileage aktualisieren;
  • Wenn newMileage nicht größer als der aktuelle Kilometerstand ist, "Invalid mileage update" protokollieren und den Kilometerstand nicht ändern.
123456789101112131415161718192021222324252627
class Car { #mileage = 1000; // Initial private mileage // Getter for mileage get mileage() { return this.#mileage; } // Setter for mileage with validation set mileage(newMileage) { if (newMileage > this.#mileage) { this.#mileage = newMileage; } else { console.log('Invalid mileage update'); } } } // Testing const car1 = new Car(); console.log(car1.mileage); // Output: 1000 car1.mileage = 1500; // Update mileage to 1500 console.log(car1.mileage); // Output: 1500 car1.mileage = 900; // Attempt invalid mileage update, expected: Invalid mileage update
copy

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 10
some-alt