Utmaning: Implementera Getters och Setters i en Klass
Uppgift
Du arbetar med en Car-klass som har en privat egenskap #mileage. Din uppgift är att definiera getters och setters för denna egenskap för att kontrollera hur den nås och ändras.
- Definiera getter för mileage: Definiera en getter för egenskapen
mileageför att hämta nuvarande körsträcka; - Definiera setter för mileage med validering: Definiera en setter för egenskapen
mileagesom accepterar ett nytt värde. Denna setter ska:- Endast tillåta uppdatering om det nya värdet är större än nuvarande körsträcka (körsträckan kan endast öka);
- Om det nya värdet är ogiltigt, logga
"Invalid mileage update"och ändra inte nuvarande körsträcka.
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
- Definiera en
get-accessor förmileageför att hämta nuvarande körsträcka; - Definiera en
set-accessor förmileagesom tarnewMileagesom parameter; - I settern, kontrollera om
newMileageär större än nuvarande körsträcka (this.#mileage); - Om
newMileageär giltigt, uppdatera#mileagetillnewMileage; - Om
newMileageinte är större än nuvarande körsträcka, logga"Invalid mileage update"och ändra inte körsträckan.
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
Var allt tydligt?
Tack för dina kommentarer!
Avsnitt 1. Kapitel 10
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 2.22
Utmaning: Implementera Getters och Setters i en Klass
Svep för att visa menyn
Uppgift
Du arbetar med en Car-klass som har en privat egenskap #mileage. Din uppgift är att definiera getters och setters för denna egenskap för att kontrollera hur den nås och ändras.
- Definiera getter för mileage: Definiera en getter för egenskapen
mileageför att hämta nuvarande körsträcka; - Definiera setter för mileage med validering: Definiera en setter för egenskapen
mileagesom accepterar ett nytt värde. Denna setter ska:- Endast tillåta uppdatering om det nya värdet är större än nuvarande körsträcka (körsträckan kan endast öka);
- Om det nya värdet är ogiltigt, logga
"Invalid mileage update"och ändra inte nuvarande körsträcka.
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
- Definiera en
get-accessor förmileageför att hämta nuvarande körsträcka; - Definiera en
set-accessor förmileagesom tarnewMileagesom parameter; - I settern, kontrollera om
newMileageär större än nuvarande körsträcka (this.#mileage); - Om
newMileageär giltigt, uppdatera#mileagetillnewMileage; - Om
newMileageinte är större än nuvarande körsträcka, logga"Invalid mileage update"och ändra inte körsträckan.
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
Var allt tydligt?
Tack för dina kommentarer!
Avsnitt 1. Kapitel 10