Uitdaging: Implementeer Getters en Setters in een Klasse
Taak
Je werkt binnen een Car-klasse die een privé-eigenschap #mileage heeft. De opdracht is om getters en setters voor deze eigenschap te definiëren om te bepalen hoe deze wordt benaderd en aangepast.
- Definieer Getter voor Mileage: Definieer een getter voor de eigenschap
mileageom de huidige kilometerstand op te halen; - Definieer Setter voor Mileage met Validatie: Definieer een setter voor de eigenschap
mileagedie een nieuwe kilometerstand accepteert. Deze setter moet:- Alleen toestaan dat de kilometerstand wordt bijgewerkt als de nieuwe waarde groter is dan de huidige kilometerstand (de kilometerstand mag alleen toenemen);
- Als de nieuwe kilometerstand ongeldig is, log
"Invalid mileage update"en wijzig de huidige kilometerstand niet.
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
- Definieer een
get-accessor voormileageom de huidige kilometerstand op te halen; - Definieer een
set-accessor voormileagedienewMileageals parameter neemt; - Controleer in de setter of
newMileagegroter is dan de huidige kilometerstand (this.#mileage); - Als
newMileagegeldig is, werk#mileagebij naarnewMileage; - Als
newMileageniet groter is dan de huidige kilometerstand, log"Invalid mileage update"en wijzig de kilometerstand niet.
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
Was alles duidelijk?
Bedankt voor je feedback!
Sectie 1. Hoofdstuk 10
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Geweldig!
Completion tarief verbeterd naar 2.22
Uitdaging: Implementeer Getters en Setters in een Klasse
Veeg om het menu te tonen
Taak
Je werkt binnen een Car-klasse die een privé-eigenschap #mileage heeft. De opdracht is om getters en setters voor deze eigenschap te definiëren om te bepalen hoe deze wordt benaderd en aangepast.
- Definieer Getter voor Mileage: Definieer een getter voor de eigenschap
mileageom de huidige kilometerstand op te halen; - Definieer Setter voor Mileage met Validatie: Definieer een setter voor de eigenschap
mileagedie een nieuwe kilometerstand accepteert. Deze setter moet:- Alleen toestaan dat de kilometerstand wordt bijgewerkt als de nieuwe waarde groter is dan de huidige kilometerstand (de kilometerstand mag alleen toenemen);
- Als de nieuwe kilometerstand ongeldig is, log
"Invalid mileage update"en wijzig de huidige kilometerstand niet.
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
- Definieer een
get-accessor voormileageom de huidige kilometerstand op te halen; - Definieer een
set-accessor voormileagedienewMileageals parameter neemt; - Controleer in de setter of
newMileagegroter is dan de huidige kilometerstand (this.#mileage); - Als
newMileagegeldig is, werk#mileagebij naarnewMileage; - Als
newMileageniet groter is dan de huidige kilometerstand, log"Invalid mileage update"en wijzig de kilometerstand niet.
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
Was alles duidelijk?
Bedankt voor je feedback!
Sectie 1. Hoofdstuk 10