Sistema di dispositivi per la casa intelligente
Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 56 di 56.
Sfida
In questa sfida devi aggiungere il tracciamento statico al sistema SmartDevice, così da poter monitorare quanti dispositivi ci sono nella nostra casa intelligente.
1. Aggiungi una proprietà statica alla classe SmartDevice:
- Aggiungi:
static totalDevices = 0;all'inizio della classe
2. Incrementa il contatore nel costruttore:
- Nel costruttore di
SmartDevice, aggiungi:SmartDevice.totalDevices++;
3. Aggiungi un metodo statico per ottenere il conteggio:
- Aggiungi:
static getDeviceCount() { return SmartDevice.totalDevices; }
Provalo tu
import { SmartDevice } from './device.js';
console.log(`Device count: ${SmartDevice.getDeviceCount()}`); // Dovrebbe essere 0
const basicDevice1 = new SmartDevice('Smart Plug');
const basicDevice2 = new SmartDevice(' Thermostat');
console.log(`Total devices now: ${SmartDevice.getDeviceCount()}`); // Dovrebbe essere 2
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 libro9Metodi e proprietà statici
A livello di classe o di istanzaProprietà staticheMetodi statici di utilitàSfida di riepilogo12Getter e Setter
Le parole chiave get e setProprietà calcolateValidazione ed effetti collateraliSfida di riepilogo15Sfide finali
Creazione di personaggi di giocoSistema di prodotti per e-commerceSistema di gestione universitariaSistema di dispositivi per la casa intelligenteEsercitati da solo: Compilatore JavaScript online