Desafío: Implementar Getters y Setters en una Clase
Tarea
Se está trabajando dentro de una clase Car que tiene una propiedad privada #mileage. La tarea consiste en definir getters y setters para esta propiedad para controlar cómo se accede y modifica.
- Definir Getter para Mileage: Definir un getter para la propiedad
mileagepara recuperar el kilometraje actual; - Definir Setter para Mileage con Validación: Definir un setter para la propiedad
mileageque acepte un nuevo valor de kilometraje. Este setter debe:- Permitir la actualización solo si el nuevo kilometraje es mayor que el actual (el kilometraje solo puede aumentar);
- Si el nuevo kilometraje no es válido, registrar
"Invalid mileage update"y no cambiar el kilometraje actual.
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
- Definir un accesor
getparamileagepara recuperar el kilometraje actual; - Definir un accesor
setparamileageque recibanewMileagecomo parámetro; - En el setter, comprobar si
newMileagees mayor que el kilometraje actual (this.#mileage); - Si
newMileagees válido, actualizar#mileageanewMileage; - Si
newMileageno es mayor que el kilometraje actual, registrar"Invalid mileage update"y no cambiar el kilometraje.
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
¿Todo estuvo claro?
¡Gracias por tus comentarios!
Sección 1. Capítulo 10
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 2.22
Desafío: Implementar Getters y Setters en una Clase
Desliza para mostrar el menú
Tarea
Se está trabajando dentro de una clase Car que tiene una propiedad privada #mileage. La tarea consiste en definir getters y setters para esta propiedad para controlar cómo se accede y modifica.
- Definir Getter para Mileage: Definir un getter para la propiedad
mileagepara recuperar el kilometraje actual; - Definir Setter para Mileage con Validación: Definir un setter para la propiedad
mileageque acepte un nuevo valor de kilometraje. Este setter debe:- Permitir la actualización solo si el nuevo kilometraje es mayor que el actual (el kilometraje solo puede aumentar);
- Si el nuevo kilometraje no es válido, registrar
"Invalid mileage update"y no cambiar el kilometraje actual.
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
- Definir un accesor
getparamileagepara recuperar el kilometraje actual; - Definir un accesor
setparamileageque recibanewMileagecomo parámetro; - En el setter, comprobar si
newMileagees mayor que el kilometraje actual (this.#mileage); - Si
newMileagees válido, actualizar#mileageanewMileage; - Si
newMileageno es mayor que el kilometraje actual, registrar"Invalid mileage update"y no cambiar el kilometraje.
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
¿Todo estuvo claro?
¡Gracias por tus comentarios!
Sección 1. Capítulo 10