Herausforderung: 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.
- Getter für Mileage definieren: Definieren Sie einen Getter für die Eigenschaft
mileage, um den aktuellen Kilometerstand abzurufen; - 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.
123456789101112131415161718192021222324252627class 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
- Einen
get-Accessor fürmileagedefinieren, um den aktuellen Kilometerstand abzurufen; - Einen
set-Accessor fürmileagedefinieren, dernewMileageals Parameter übernimmt; - Im Setter prüfen, ob
newMileagegrößer als der aktuelle Kilometerstand (this.#mileage) ist; - Wenn
newMileagegültig ist,#mileageaufnewMileageaktualisieren; - Wenn
newMileagenicht größer als der aktuelle Kilometerstand ist,"Invalid mileage update"protokollieren und den Kilometerstand nicht ändern.
123456789101112131415161718192021222324252627class 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
War alles klar?
Danke für Ihr Feedback!
Abschnitt 1. Kapitel 10
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
Herausforderung: 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.
- Getter für Mileage definieren: Definieren Sie einen Getter für die Eigenschaft
mileage, um den aktuellen Kilometerstand abzurufen; - 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.
123456789101112131415161718192021222324252627class 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
- Einen
get-Accessor fürmileagedefinieren, um den aktuellen Kilometerstand abzurufen; - Einen
set-Accessor fürmileagedefinieren, dernewMileageals Parameter übernimmt; - Im Setter prüfen, ob
newMileagegrößer als der aktuelle Kilometerstand (this.#mileage) ist; - Wenn
newMileagegültig ist,#mileageaufnewMileageaktualisieren; - Wenn
newMileagenicht größer als der aktuelle Kilometerstand ist,"Invalid mileage update"protokollieren und den Kilometerstand nicht ändern.
123456789101112131415161718192021222324252627class 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
War alles klar?
Danke für Ihr Feedback!
Abschnitt 1. Kapitel 10