Esercizi Classi Javascript
Ecco degli esercizi semplici con soluzione per praticare le basi delle classi e programmazione ad oggetti in Javascript.
Esercizio 1
Creare una classe "Persona" con proprietà nome e cognome.Aggiungere un metodo "saluta" che stampi un saluto con il nome e cognome.
class Persona { constructor(nome, cognome) { this.nome = nome; this.cognome = cognome; }
saluta() { console.log(`Ciao, sono ${this.nome} ${this.cognome}`); }}
const persona = new Persona("Mario", "Rossi");persona.saluta();
Esercizio 2
Creare una classe "Automobile" con proprietà marca e anno di produzione. Aggiungere un metodo "dettagli" alla classe "Automobile" che stampi i dettagli della vettura.
class Automobile { constructor(marca, anno) { this.marca = marca; this.anno = anno; }
dettagli() { console.log(`Marca: ${this.marca}, Anno: ${this.anno}`); }}
const automobile = new Automobile("Fiat", 2020);automobile.dettagli();
Esercizio 3
Creare una classe "Cerchio" con proprietà raggio e un metodo per calcolare l'area.
class Cerchio { constructor(raggio) { this.raggio = raggio; }
calcolaArea() { return Math.PI * this.raggio * this.raggio; }}
const cerchio = new Cerchio(5);const area = cerchio.calcolaArea();console.log("Area del cerchio:", area);
Esercizio 4
Creare una classe "Libro" con proprietà titolo e autore. Aggiungere un metodo "dettagli" alla classe "Libro" che stampi i dettagli del libro.
class Libro { constructor(titolo, autore) { this.titolo = titolo; this.autore = autore; }
dettagli() { console.log(`Titolo: ${this.titolo}, Autore: ${this.autore}`); }}
const libro = new Libro("Il Signore degli Anelli", "J.R.R. Tolkien");libro.dettagli();
Esercizio 5
Creare una classe "Studente" con proprietà nome, cognome e un array di voti. Aggiungere un metodo "aggiungiVoto" alla classe "Studente" che permetta di aggiungere un voto all'array dei voti.
class Studente { constructor(nome, cognome) { this.nome = nome; this.cognome = cognome; this.voti = []; }
aggiungiVoto(voto) { this.voti.push(voto); }}
const studente = new Studente("Mario", "Rossi");studente.aggiungiVoto(8);studente.aggiungiVoto(7);console.log("Voti:", studente.voti);
Esercizio 6
Creare una classe "Prodotto" con proprietà nome, prezzo e un metodo per applicare uno sconto al prezzo.
class Prodotto { constructor(nome, prezzo) { this.nome = nome; this.prezzo = prezzo; }
applicaSconto(scontoPercentuale) { const sconto = (this.prezzo * scontoPercentuale) / 100; this.prezzo -= sconto; }}
const prodotto = new Prodotto("Televisore", 1000);console.log("Prezzo originale:", prodotto.prezzo);prodotto.applicaSconto(20);console.log("Prezzo scontato:", prodotto.prezzo);
Esercizio 7
Creare una classe "Punto" con proprietà x e y, e un metodo per calcolare la distanza dal punto all'origine.
class Punto { constructor(x, y) { this.x = x; this.y = y; }
calcolaDistanza() { const distanza = Math.sqrt(this.x * this.x + this.y * this.y); return distanza; }}
const punto = new Punto(3, 4);const distanza = punto.calcolaDistanza();console.log("Distanza dal punto all'origine:", distanza);
Esercizio 8
Creare una classe "Rettangolo" con proprietà base e altezza, e un metodo per calcolare l'area.
class Rettangolo { constructor(base, altezza) { this.base = base; this.altezza = altezza; }
calcolaArea() { const area = this.base * this.altezza; return area; }}
const rettangolo = new Rettangolo(5, 3);const area = rettangolo.calcolaArea();console.log("Area del rettangolo:", area);
Esercizio 9
Creare una classe "Utente" con proprietà nome, cognome e un metodo per generare l'indirizzo email.
class Utente { constructor(nome, cognome) { this.nome = nome; this.cognome = cognome; }
generaEmail() { const email = `${this.nome.toLowerCase()}.${this.cognome.toLowerCase()}@example.com`; return email; }}
const utente = new Utente("Mario", "Rossi");const email = utente.generaEmail();console.log("Indirizzo email:", email);
Esercizio 10
Creare una classe "Triangolo" con proprietà base e altezza, e un metodo per calcolare l'area.
class Triangolo { constructor(base, altezza) { this.base = base; this.altezza = altezza; }
calcolaArea() { const area = (this.base * this.altezza) / 2; return area; }}
const triangolo = new Triangolo(6, 4);const area = triangolo.calcolaArea();console.log("Area del triangolo:", area);