Défi : Gestion des Propriétés avec Getters et Setters
Tâche
Vous travaillez au sein d'une classe Car
qui possède une propriété privée #mileage
. Votre tâche est de définir des getters et setters pour cette propriété afin de contrôler comment elle est accédée et modifiée.
- Définir un Getter pour le Kilométrage : Définissez un getter pour la propriété
mileage
afin de récupérer le kilométrage actuel ; - Définir un Setter pour le Kilométrage avec Validation : Définissez un setter pour la propriété
mileage
qui accepte une nouvelle valeur de kilométrage. Ce setter doit :- Permettre la mise à jour uniquement si le nouveau kilométrage est supérieur au kilométrage actuel (le kilométrage ne peut qu'augmenter) ;
- Si le nouveau kilométrage est invalide, enregistrer
"Invalid mileage update"
et ne pas changer le kilométrage actuel.
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
- Définir un accessoire
get
pourmileage
afin de récupérer le kilométrage actuel ; - Définir un accessoire
set
pourmileage
qui prendnewMileage
comme paramètre ; - Dans le setter, vérifier si
newMileage
est supérieur au kilométrage actuel (this.#mileage
) ; - Si
newMileage
est valide, mettre à jour#mileage
ànewMileage
; - Si
newMileage
n'est pas supérieur au kilométrage actuel, enregistrer"Invalid mileage update"
et ne pas changer le kilométrage.
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
Tout était clair ?
Merci pour vos commentaires !
Section 1. Chapitre 10
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 2.22
Défi : Gestion des Propriétés avec Getters et Setters
Glissez pour afficher le menu
Tâche
Vous travaillez au sein d'une classe Car
qui possède une propriété privée #mileage
. Votre tâche est de définir des getters et setters pour cette propriété afin de contrôler comment elle est accédée et modifiée.
- Définir un Getter pour le Kilométrage : Définissez un getter pour la propriété
mileage
afin de récupérer le kilométrage actuel ; - Définir un Setter pour le Kilométrage avec Validation : Définissez un setter pour la propriété
mileage
qui accepte une nouvelle valeur de kilométrage. Ce setter doit :- Permettre la mise à jour uniquement si le nouveau kilométrage est supérieur au kilométrage actuel (le kilométrage ne peut qu'augmenter) ;
- Si le nouveau kilométrage est invalide, enregistrer
"Invalid mileage update"
et ne pas changer le kilométrage actuel.
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
- Définir un accessoire
get
pourmileage
afin de récupérer le kilométrage actuel ; - Définir un accessoire
set
pourmileage
qui prendnewMileage
comme paramètre ; - Dans le setter, vérifier si
newMileage
est supérieur au kilométrage actuel (this.#mileage
) ; - Si
newMileage
est valide, mettre à jour#mileage
ànewMileage
; - Si
newMileage
n'est pas supérieur au kilométrage actuel, enregistrer"Invalid mileage update"
et ne pas changer le kilométrage.
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
Tout était clair ?
Merci pour vos commentaires !
Section 1. Chapitre 10