Ereditarietà
Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 24 di 56.
L'ereditarietà nella programmazione orientata agli oggetti in JavaScript è un modo per consentire a una classe di accedere a tutte le proprietà e i metodi di un'altra classe.
Vediamo un esempio. Crea una classe padre:
class Vehicle {
constructor(brand, model) {
this.brand = brand;
this.model = model;
}
drive() {
console.log("Driving!");
}
}Ora crea una classe figlia che eredita da Vehicle:
// Car eredita da Vehicle
class Car extends Vehicle {
honk() {
console.log("Beep beep!");
}
}Crea un'istanza della classe figlia:
const myCar = new Car("Toyota", "Camry");Accedi alle proprietà e ai metodi:
console.log(myCar.brand); // "Toyota" - ereditato da Vehicle
console.log(myCar.model); // "Camry" - ereditato da Vehicle
// Car può accedere ai metodi di Vehicle
myCar.drive(); // "Driving!" - ereditato da Vehicle
// Car ha anche metodi propri
myCar.honk(); // "Beep beep!" - specifico di CarSfida
Ti vengono fornite una classe Animal e una classe Dog che eredita da essa. Il tuo compito è creare un oggetto myDog con il nome "Buddy" e l'età 3.
Provalo tu
import { Dog } from './animal.js';
// TODO: Crea l'oggetto myDog con nome "Buddy" ed età 3.
// Codice di test - non modificare
console.log(myDog.name); // Dovrebbe mostrare "Buddy"
console.log(myDog.age); // Dovrebbe mostrare 3Questa 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