Proprietà e metodi
Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 13 di 56.
Le classi in JavaScript ci permettono di definire proprietà e metodi che saranno condivisi da tutte le istanze della classe.
Crea una classe con proprietà:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
}Quando crei un'istanza, il costruttore imposta queste proprietà:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.make); // Output: 'Toyota'
console.log(myCar.model); // Output: 'Corolla'Aggiungi un metodo alla classe:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
getDescription() {
return `This car is a ${this.make} ${this.model}.`;
}
}Ora possiamo chiamare questo metodo su qualsiasi istanza:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.getDescription()); // Output: 'This car is a Toyota Corolla.'Sfida
Crea una classe chiamata Book nel file book.js con quanto segue:
- Un costruttore che accetta i parametri
title,authorepagese li imposta come proprietà. - Un metodo chiamato
getInfoche restituisce una stringa nel formato: “Title: [title], Author: [author], Pages: [pages]” - Esporta la classe aggiungendo `export` davanti alla dichiarazione `class`
Provalo tu
import { Book } from './book.js';
// Test (non modificare questa parte)
const book = new Book("JavaScript Basics", "John Doe", 200);
console.log(book.getInfo());
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