Haaste: Toteuta Getterit ja Setterit Luokassa
Tehtävä
Työskentelet Car-luokan parissa, jossa on yksityinen #mileage-ominaisuus. Tehtävänäsi on määrittää tälle ominaisuudelle getter- ja setter-metodit, joilla hallitaan sen käyttöä ja muokkaamista.
- Määritä getter kilometrilukemalle: Määritä getter
mileage-ominaisuudelle nykyisen kilometrilukeman hakemiseksi; - Määritä setter kilometrilukemalle validoinnilla: Määritä setter
mileage-ominaisuudelle, joka hyväksyy uuden kilometrilukeman. Tämän setterin tulee:- Sallia päivitys vain, jos uusi kilometrilukema on suurempi kuin nykyinen (kilometrilukema voi vain kasvaa);
- Jos uusi kilometrilukema on virheellinen, tulosta
"Invalid mileage update"eikä muuta nykyistä kilometrilukemaa.
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
- Määritä
get-aksessorimileage-ominaisuudelle nykyisen kilometrilukeman hakemiseksi; - Määritä
set-aksessorimileage-ominaisuudelle, joka ottaa parametrinanewMileage; - Setterissä tarkista, onko
newMileagesuurempi kuin nykyinen kilometrilukema (this.#mileage); - Jos
newMileageon kelvollinen, päivitä#mileagearvoonnewMileage; - Jos
newMileageei ole suurempi kuin nykyinen kilometrilukema, tulosta"Invalid mileage update"eikä muuta kilometrilukemaa.
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
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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
Haaste: Toteuta Getterit ja Setterit Luokassa
Pyyhkäise näyttääksesi valikon
Tehtävä
Työskentelet Car-luokan parissa, jossa on yksityinen #mileage-ominaisuus. Tehtävänäsi on määrittää tälle ominaisuudelle getter- ja setter-metodit, joilla hallitaan sen käyttöä ja muokkaamista.
- Määritä getter kilometrilukemalle: Määritä getter
mileage-ominaisuudelle nykyisen kilometrilukeman hakemiseksi; - Määritä setter kilometrilukemalle validoinnilla: Määritä setter
mileage-ominaisuudelle, joka hyväksyy uuden kilometrilukeman. Tämän setterin tulee:- Sallia päivitys vain, jos uusi kilometrilukema on suurempi kuin nykyinen (kilometrilukema voi vain kasvaa);
- Jos uusi kilometrilukema on virheellinen, tulosta
"Invalid mileage update"eikä muuta nykyistä kilometrilukemaa.
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
- Määritä
get-aksessorimileage-ominaisuudelle nykyisen kilometrilukeman hakemiseksi; - Määritä
set-aksessorimileage-ominaisuudelle, joka ottaa parametrinanewMileage; - Setterissä tarkista, onko
newMileagesuurempi kuin nykyinen kilometrilukema (this.#mileage); - Jos
newMileageon kelvollinen, päivitä#mileagearvoonnewMileage; - Jos
newMileageei ole suurempi kuin nykyinen kilometrilukema, tulosta"Invalid mileage update"eikä muuta kilometrilukemaa.
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
Kiitos palautteestasi!