📢 Nuovo Corso Laravel API disponibile!

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);