Organizzare le classi in moduli
Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 30 di 56.
Quando il tuo progetto cresce, avere tutte le classi in un unico file diventa un caos. Immagina 10 classi in un unico file: diventa difficile trovare e mantenere il codice.
Abbiamo già imparato a organizzare il codice con i moduli: esportando e importando funzioni e variabili. Con le classi, la logica e la sintassi sono le stesse! Puoi esportare classi da un file e importarle in un altro, proprio come abbiamo fatto con le funzioni.
Esercitiamoci a organizzare le classi in moduli per mantenere il nostro codice pulito e gestibile.
Per esempio:

Come funziona:
File 1: furniture-base.js (Esporta la classe base)
export class Furniture {
constructor(material) {
this.material = material;
}
describe() {
return `${this.material} furniture`;
}
}File 2: chair.js (Importa ed estendi)
import { Furniture } from './furniture-base.js';
export class Chair extends Furniture {
constructor(material, legs) {
super(material);
this.legs = legs;
}
sit() {
return "Sitting comfortably";
}
}File 3: main.js (Usa tutto insieme)
import { Chair } from './chair.js';
import { Table } from './table.js';
const myChair = new Chair("wood", 4);
const myTable = new Table("glass", "round");
console.log(myChair.describe()); // "wood furniture"
console.log(myTable.describe()); // "glass furniture"Sfida
Hai un sistema per un negozio di elettronica organizzato in moduli. Le classi Laptop e Smartphone sono create in file separati, ma devono essere rese disponibili agli altri file.
Il tuo compito:
- Esporta le classi (usa esportazioni con nome, non predefinite):
- In
laptop.js: aggiungiexportper rendere disponibile la classeLaptop - In
smartphone.js: aggiungiexportper rendere disponibile la classeSmartphone
- In
- Importa le classi in
main.js:- Importa la classe
Laptopdalaptop.js - Importa la classe
Smartphonedasmartphone.js
- Importa la classe
Provalo tu
// TODO: Importa la classe Laptop da laptop.js
// TODO: Importa la classe Smartphone da smartphone.js
const myLaptop = new Laptop();
const myPhone = new Smartphone();
console.log(myLaptop.type); // Restituisce: "laptop"
console.log(myPhone.type); // Restituisce: "smartphone"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