La parola chiave extends
Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 26 di 56.
La parola chiave extends in JavaScript viene usata per creare una classe figlia che eredita proprietà e metodi da una classe genitore.
Creiamo prima una classe genitore:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
return `${this.name} makes a noise.`;
}
}Ora creiamo una classe figlia che estende la classe genitore:
class Dog extends Animal {
// La classe Dog eredita da Animal
}Questo semplice codice significa che la classe Dog ora eredita tutte le proprietà e i metodi della classe Animal.
Crea un'istanza di cane:
const dog = new Dog('Rex');Chiama un metodo ereditato dal genitore:
console.log(dog.speak()); // Stampa: "Rex makes a noise."La parola chiave extends crea una relazione di ereditarietà in cui la classe figlia (Dog) può accedere e utilizzare tutte le funzionalità definite nella classe genitore (Animal).
Sfida
Crea una classe Student che estende la classe Person usando la parola chiave extends ed esportala.
Provalo tu
import { Student } from './classes.js';
// Codice di test - non modificare
const student = new Student("Emma");
console.log(student.greet()); // Dovrebbe produrre "Hello, I'm Emma"Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
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