Classi e Costruttori
Classi e costruttori (class, constructor)
Le classi sono uno strumento che consente di definire strutture riutilizzabili per creare oggetti con le stesse caratteristiche. All’interno di una classe troviamo il costruttore, un metodo speciale che serve per inizializzare le proprietà degli oggetti.
Introduzione alle classi
Le classi in JavaScript sono un modo moderno e leggibile per definire oggetti e le loro funzionalità. Una classe è come un modello (o “stampo”) che ci permette di creare più oggetti con le stesse proprietà e metodi.
- Le classi si dichiarano con la parola chiave class.
- Al loro interno troviamo il metodo speciale constructor per inizializzare le proprietà.
- È possibile aggiungere metodi personalizzati che saranno disponibili in tutti gli oggetti creati da quella classe.
Esempio di classe con costruttore
Nel seguente esempio definiamo una classe Studente con un costruttore che assegna le proprietà, e un metodo che descrive lo studente:
Codice Esempio: Classe base

class Studente {
constructor(nome, eta) {
this.nome = nome;
this.eta = eta;
}
descrivi() {
return this.nome + " ha " + this.eta + " anni.";
}
}
let studente1 = new Studente("Marco", 16);
console.log(studente1.descrivi());
// Output: Marco ha 16 anni.
Metodi aggiuntivi nelle classi
Possiamo aggiungere altri metodi direttamente nella classe, che saranno disponibili per tutti gli oggetti creati:
Codice Esempio: Classe con più metodi

class Rettangolo {
constructor(base, altezza) {
this.base = base;
this.altezza = altezza;
}
area() {
return this.base * this.altezza;
}
perimetro() {
return 2 * (this.base + this.altezza);
}
}
let r1 = new Rettangolo(5, 3);
console.log("Area: " + r1.area());
// Output: Area: 15
console.log("Perimetro: " + r1.perimetro());
// Output: Perimetro: 16
Tabella riassuntiva
Elemento | Descrizione | Esempio |
---|---|---|
class | Definisce una nuova classe, cioè un modello per creare oggetti. | class Persona { ... } |
constructor() | Metodo speciale che inizializza le proprietà degli oggetti creati. | constructor(nome) { this.nome = nome; } |
metodi | Funzionalità definite nella classe, condivise da tutti gli oggetti. | saluta() { return "Ciao"; } |
Considerazioni
Le classi e i costruttori rendono più semplice e leggibile la creazione di oggetti complessi. Usandoli possiamo organizzare meglio il codice e riutilizzare funzioni e proprietà in modo strutturato.