Sfida di ripasso
Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 29 di 56.
Sfida
Crea classi di mobili usando l’ereditarietà
Attività 1: crea una classe Chair
Crea una classe Chair che extends Furniture:
- Usa
super()nel costruttore per ereditarematerialecolordalla classe padre - Aggiungi la proprietà:
numberOfLegs - Aggiungi il metodo:
sit()che restituisce"Sitting on the chair"
Attività 2: crea una classe Table
Crea una classe Table che extends Furniture:
- Usa
super()nel costruttore per ereditarematerialecolordalla classe padre - Aggiungi la proprietà:
shape - Aggiungi il metodo:
placeItem()che restituisce"Item placed on table"
Provalo tu
import { Furniture } from './furniture.js';
import { Table } from './table.js';
import { Chair } from './chair.js';
// Codice di test - non modificare
const myChair = new Chair("wood", "brown", 4);
console.log(myChair.describe()); // Dovrebbe produrre "brown wood furniture"
console.log(myChair.numberOfLegs); // Dovrebbe produrre 4
console.log(myChair.sit()); // Dovrebbe produrre "Sitting on the chair"
const myTable = new Table("glass", "clear", "round");
console.log(myTable.describe()); // Dovrebbe produrre "clear glass furniture"
console.log(myTable.shape); // Dovrebbe produrre "round"
console.log(myTable.placeItem()); // Dovrebbe produrre "Item placed on table"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