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 : créer un thermostat intelligent
Entraîne-toi à mettre en pratique tout ce que tu as appris dans ce chapitre en créant un objet thermostat intelligent.
Ta tâche :
- Crée une fonction constructeur appelée
Thermostatqui prend un paramètreroom - Dans le constructeur, définis ces propriétés avec
this:room(à partir du paramètre)temperature(définie à 22)isOn(définie à true)
- Ajoute ces méthodes dans le constructeur avec
this:increaseTemp()- augmente la température de 1 degrédecreaseTemp()- diminue la température de 1 degrégetStatus()- renvoie exactement[room] thermostat: [temperature]°C(garde le mot anglais thermostat)
Essayez vous-même
// TODO: Créez une fonction constructeur appelée Thermostat qui prend un paramètre room
// TODO: Dans le constructeur, définissez ces propriétés :
// - room (à partir du paramètre)
// - temperature (définie à 22)
// - isOn (définie à true)
// TODO: Ajoutez une méthode appelée increaseTemp() qui augmente temperature de 1 degré
// TODO: Ajoutez une méthode appelée decreaseTemp() qui diminue temperature de 1 degré
// TODO: Ajoutez une méthode appelée getStatus() qui renvoie : "[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 CircleRedéfinition et méthode AreaCompteur de formes statique14Système de gestion de bibliothèque
Conception de la bibliothèqueClasse Book avec compositionValidation de l'auteur du livre3Classes 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écapitulatifEntraînez-vous par vous-même : Compilateur JavaScript en ligne