Défi récapitulatif
Fait partie de la section Programmation Orientée Objet du Journey JavaScript de Coddy — leçon 6 sur 56.
Défi
Défi récapitulatif : Construire un thermostat intelligent
Mettez en pratique tout ce que vous avez appris dans ce chapitre en créant un objet thermostat intelligent.
Votre tâche :
- Créez une fonction constructeur appelée
Thermostatqui prend un paramètreroom - À l'intérieur du constructeur, définissez ces propriétés en utilisant
this:room(à partir du paramètre)temperature(défini sur 22)isOn(défini sur true)
- Ajoutez ces méthodes à l'intérieur du constructeur en utilisant
this:increaseTemp()- augmente la température de 1 degrédecreaseTemp()- diminue la température de 1 degrégetStatus()- retourne : "[room] thermostat: [temperature]°C"
Essayez vous-même
// TODO : Créer une fonction constructeur appelée Thermostat qui prend un paramètre room
// TODO : À l'intérieur du constructeur, définissez ces propriétés :
// - room (à partir du paramètre)
// - temperature (réglée à 22)
// - isOn (réglée sur true)
// TODO : Ajouter une méthode appelée increaseTemp() qui augmente la température de 1 degré
// TODO : Ajouter une méthode appelée decreaseTemp() qui diminue la température de 1 degré
// TODO : Ajouter une méthode appelée getStatus() qui retourne : "[room] thermostat: [temperature]°C"
// Testez votre code - ne modifiez pas cette partie
const livingRoom = new Thermostat("Living Room");
livingRoom.increaseTemp();
livingRoom.increaseTemp();
console.log(livingRoom.getStatus()); // Devrait afficher : "Living Room thermostat: 24°C"
const bedroom = new Thermostat("Bedroom");
bedroom.decreaseTemp();
bedroom.decreaseTemp();
console.log(bedroom.getStatus()); // Devrait afficher : "Bedroom thermostat: 20°C"
Toutes les leçons de Programmation Orientée Objet
1Objets et le mot-clé this
Révision rapide : Les objetsAjouter des méthodes aux objetsComprendre le mot-clé thisFonctions constructeursLe mot-clé newDéfi récapitulatif7L'héritage et le mot-clé extends
L'héritageLa relation « est un »Le mot-clé extendsLa méthode super()Hériter des propriétés et méthodesDéfi récapitulatif10Polymorphisme
Qu'est-ce que le polymorphisme ?Redéfinition de méthodes héritéesUtiliser superDéfi récapitulatif13Composition vs Héritage
Les relations « has-a » vs « is-a »Les limites de l'héritage profondConstruction d'objets2Organisation du code
Qu'est-ce qu'un module ?Exporter avec exportImporter avec importExports par défaut vs nommés5Encapsulation & Accès
EncapsulationChamps de classe publics et privésMéthodes privéesDéfi récapitulatif8Organisation du code POO
Organiser les classes en modules11Projet : Un moteur de rendu de formes
Configuration : Classe Shape et ExportationHéritage de la classe Circle14Système de gestion de bibliothèque
Conception de la bibliothèqueClasse Book avec composition3Classes et Objets
Qu'est-ce qu'une classe ?Créer des instancesPropriétés et méthodesDéfi récapitulatif9Méthodes et propriétés statiques
Niveau classe vs Niveau instancePropriétés statiquesMéthodes utilitaires statiquesDéfi récapitulatif