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
Oliko kaikki selvää?
Kiitos palautteestasi!
Osio 1. Luku 10
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Osio 1. Luku 10