Sfida di ripasso
Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 6 di 56.
Sfida
Sfida di ripasso: crea un termostato intelligente
Metti in pratica tutto ciò che hai imparato in questo capitolo creando un oggetto termostato intelligente.
Il tuo compito:
- Crea una funzione costruttrice chiamata
Thermostatche accetta un parametroroom - All'interno del costruttore, imposta queste proprietà usando
this:room(dal parametro)temperature(impostata su 22)isOn(impostata su true)
- Aggiungi questi metodi all'interno del costruttore usando
this:increaseTemp()- aumenta la temperatura di 1 gradodecreaseTemp()- diminuisce la temperatura di 1 gradogetStatus()- restituisce: "[room] thermostat: [temperature]°C"
Provalo tu
// TODO: Crea una funzione costruttrice chiamata Thermostat che accetti un parametro room
// TODO: All'interno del costruttore, imposta queste proprietà:
// - room (dal parametro)
// - temperature (impostata a 22)
// - isOn (impostata a true)
// TODO: Aggiungi un metodo chiamato increaseTemp() che aumenti temperature di 1 grado
// TODO: Aggiungi un metodo chiamato decreaseTemp() che diminuisca temperature di 1 grado
// TODO: Aggiungi un metodo chiamato getStatus() che restituisca: "[room] thermostat: [temperature]°C"
// Metti alla prova il tuo codice: non modificare questa parte
const livingRoom = new Thermostat("Living Room");
livingRoom.increaseTemp();
livingRoom.increaseTemp();
console.log(livingRoom.getStatus()); // Dovrebbe stampare: "Living Room thermostat: 24°C"
const bedroom = new Thermostat("Bedroom");
bedroom.decreaseTemp();
bedroom.decreaseTemp();
console.log(bedroom.getStatus()); // Dovrebbe stampare: "Bedroom thermostat: 20°C"
Tutte le lezioni di Programmazione orientata agli oggetti
1Oggetti e la keyword this
Ripasso rapido: oggettiAggiungere metodi agli oggettiCapire la keyword thisFunzioni costruttriciLa keyword newSfida di ripasso7Ereditarietà e parola chiave extends
EreditarietàLa relazione «è un»La parola chiave extendsIl metodo super()Ereditare proprietà e metodiSfida di ripasso13Composizione vs. ereditarietà
«Ha-un» vs. «è-un»I limiti dell’ereditarietà profondaCostruire oggetti2Organizzare il codice
Cosa sono i moduli?Esportare con exportImportare con importExport predefiniti vs. export nominati5Incapsulamento e accesso
IncapsulamentoCampi di classe pubblici e privatiMetodi privatiSfida di riepilogo8Organizzare il codice OOP
Organizzare le classi in moduli11Progetto: Un renderizzatore di forme
Configurazione: classe Shape ed esportazioneEreditarietà della classe CircleOverride e metodo areaContatore statico di Shape14Sistema di gestione della biblioteca
Progettare la bibliotecaClasse Book con composizioneValidazione dell'autore del libroEsercitati da solo: Compilatore JavaScript online