Sfida: Implementare Getter e Setter in una Classe
Compito
Si sta lavorando all'interno di una classe Car che possiede una proprietà privata #mileage. L'obiettivo è definire getter e setter per questa proprietà per controllarne l'accesso e la modifica.
- Definizione del Getter per Mileage: Definire un getter per la proprietà
mileageper recuperare il valore attuale del chilometraggio; - Definizione del Setter per Mileage con Validazione: Definire un setter per la proprietà
mileageche accetti un nuovo valore di chilometraggio. Questo setter deve:- Consentire l'aggiornamento solo se il nuovo chilometraggio è maggiore di quello attuale (il chilometraggio può solo aumentare);
- Se il nuovo chilometraggio non è valido, registrare
"Invalid mileage update"e non modificare il valore attuale.
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
- Definire un accessore
getpermileageper recuperare il chilometraggio attuale; - Definire un accessore
setpermileageche accettinewMileagecome parametro; - Nel setter, verificare se
newMileageè maggiore del chilometraggio attuale (this.#mileage); - Se
newMileageè valido, aggiornare#mileageconnewMileage; - Se
newMileagenon è maggiore del chilometraggio attuale, registrare"Invalid mileage update"e non modificare il chilometraggio.
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
Tutto è chiaro?
Grazie per i tuoi commenti!
Sezione 1. Capitolo 10
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 2.22
Sfida: Implementare Getter e Setter in una Classe
Scorri per mostrare il menu
Compito
Si sta lavorando all'interno di una classe Car che possiede una proprietà privata #mileage. L'obiettivo è definire getter e setter per questa proprietà per controllarne l'accesso e la modifica.
- Definizione del Getter per Mileage: Definire un getter per la proprietà
mileageper recuperare il valore attuale del chilometraggio; - Definizione del Setter per Mileage con Validazione: Definire un setter per la proprietà
mileageche accetti un nuovo valore di chilometraggio. Questo setter deve:- Consentire l'aggiornamento solo se il nuovo chilometraggio è maggiore di quello attuale (il chilometraggio può solo aumentare);
- Se il nuovo chilometraggio non è valido, registrare
"Invalid mileage update"e non modificare il valore attuale.
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
- Definire un accessore
getpermileageper recuperare il chilometraggio attuale; - Definire un accessore
setpermileageche accettinewMileagecome parametro; - Nel setter, verificare se
newMileageè maggiore del chilometraggio attuale (this.#mileage); - Se
newMileageè valido, aggiornare#mileageconnewMileage; - Se
newMileagenon è maggiore del chilometraggio attuale, registrare"Invalid mileage update"e non modificare il chilometraggio.
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
Tutto è chiaro?
Grazie per i tuoi commenti!
Sezione 1. Capitolo 10