Utfordring: Implementere Getters og Setters i en Klasse
Oppgave
Du arbeider med en Car-klasse som har en privat egenskap #mileage. Din oppgave er å definere getters og setters for denne egenskapen for å kontrollere hvordan den blir aksessert og endret.
- Definer getter for kjørelengde: Definer en getter for egenskapen
mileagefor å hente gjeldende kjørelengde; - Definer setter for kjørelengde med validering: Definer en setter for egenskapen
mileagesom aksepterer en ny kjørelengde. Denne setteren skal:- Kun tillate oppdatering hvis den nye kjørelengden er større enn gjeldende kjørelengde (kjørelengden kan kun øke);
- Hvis den nye kjørelengden er ugyldig, logg
"Invalid mileage update"og ikke endre gjeldende kjørelengde.
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
- Definer en
get-tilgangsmetode formileagefor å hente gjeldende kjørelengde; - Definer en
set-tilgangsmetode formileagesom tarnewMileagesom parameter; - I setteren, sjekk om
newMileageer større enn gjeldende kjørelengde (this.#mileage); - Hvis
newMileageer gyldig, oppdater#mileagetilnewMileage; - Hvis
newMileageikke er større enn gjeldende kjørelengde, logg"Invalid mileage update"og ikke endre kjørelengden.
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
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain how getters and setters work in JavaScript?
What happens if I try to set the mileage to the same value as the current mileage?
Can you show how to add more validation to the setter, like checking for negative values?
Awesome!
Completion rate improved to 2.22
Utfordring: Implementere Getters og Setters i en Klasse
Sveip for å vise menyen
Oppgave
Du arbeider med en Car-klasse som har en privat egenskap #mileage. Din oppgave er å definere getters og setters for denne egenskapen for å kontrollere hvordan den blir aksessert og endret.
- Definer getter for kjørelengde: Definer en getter for egenskapen
mileagefor å hente gjeldende kjørelengde; - Definer setter for kjørelengde med validering: Definer en setter for egenskapen
mileagesom aksepterer en ny kjørelengde. Denne setteren skal:- Kun tillate oppdatering hvis den nye kjørelengden er større enn gjeldende kjørelengde (kjørelengden kan kun øke);
- Hvis den nye kjørelengden er ugyldig, logg
"Invalid mileage update"og ikke endre gjeldende kjørelengde.
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
- Definer en
get-tilgangsmetode formileagefor å hente gjeldende kjørelengde; - Definer en
set-tilgangsmetode formileagesom tarnewMileagesom parameter; - I setteren, sjekk om
newMileageer større enn gjeldende kjørelengde (this.#mileage); - Hvis
newMileageer gyldig, oppdater#mileagetilnewMileage; - Hvis
newMileageikke er større enn gjeldende kjørelengde, logg"Invalid mileage update"og ikke endre kjørelengden.
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
Takk for tilbakemeldingene dine!