🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Classi Javascript

Codegrind Team•Jul 22 2023

Ecco degli esercizi semplici con soluzione per praticare le basi delle classi e programmazione ad oggetti in Javascript.

Esercizio 1

Creare una classe "Veicolo" con proprietĂ  "marca" e "anno di produzione". Successivamente, creare una classe "Automobile" che erediti dalla classe "Veicolo" e abbia una proprietĂ  aggiuntiva "modello".
class Veicolo {
  constructor(marca, anno) {
    this.marca = marca;
    this.anno = anno;
  }
}

class Automobile extends Veicolo {
  constructor(marca, anno, modello) {
    super(marca, anno);
    this.modello = modello;
  }
}

const automobile = new Automobile("Fiat", 2020, "Panda");
console.log(automobile.marca, automobile.anno, automobile.modello);

Esercizio 2

Creare una classe "Animale" con proprietĂ  "nome" e un metodo "verso" che restituisca il verso dell'animale. Successivamente, creare una classe "Cane" che erediti dalla classe "Animale" e abbia una proprietĂ  aggiuntiva "razza".
class Animale {
  constructor(nome) {
    this.nome = nome;
  }

  verso() {
    return "Sconosciuto";
  }
}

class Cane extends Animale {
  constructor(nome, razza) {
    super(nome);
    this.razza = razza;
  }

  verso() {
    return "Bau Bau!";
  }
}

const cane = new Cane("Fido", "Labrador");
console.log(cane.nome, cane.razza);
console.log(cane.verso());

Esercizio 3

Creare una classe "Persona" con proprietĂ  "nome" e "cognome". Successivamente, creare una classe "Studente" che erediti dalla classe "Persona" e abbia una proprietĂ  aggiuntiva "corsoDiStudi".
class Persona {
  constructor(nome, cognome) {
    this.nome = nome;
    this.cognome = cognome;
  }
}

class Studente extends Persona {
  constructor(nome, cognome, corsoDiStudi) {
    super(nome, cognome);
    this.corsoDiStudi = corsoDiStudi;
  }
}

const studente = new Studente("Mario", "Rossi", "Informatica");
console.log(studente.nome, studente.cognome, studente.corsoDiStudi);

Esercizio 4

Creare una classe "Forma" con metodo "calcolaArea". Successivamente, creare una classe "Rettangolo" che erediti dalla classe "Forma" e abbia proprietĂ  "base" e "altezza" e implementi il metodo "calcolaArea" per calcolare l'area del rettangolo.
class Forma {
  calcolaArea() {
    return 0;
  }
}

class Rettangolo extends Forma {
  constructor(base, altezza) {
    super();
    this.base = base;
    this.altezza = altezza;
  }

  calcolaArea() {
    return this.base * this.altezza;
  }
}

const rettangolo = new Rettangolo(5, 3);
console.log("Area del rettangolo:", rettangolo.calcolaArea());

Esercizio 5

Creare una classe "Veicolo" con metodo "accelera". Successivamente, creare una classe "Automobile" che erediti dalla classe "Veicolo" e abbia un metodo "suonaClacson" oltre al metodo "accelera".
class Veicolo {
  accelera() {
    console.log("Veicolo in accelerazione...");
  }
}

class Automobile extends Veicolo {
  accelera() {
    console.log("Automobile in accelerazione...");
  }

  suonaClacson() {
    console.log("Beep Beep!");
  }
}

const automobile = new Automobile();
automobile.accelera();
automobile.suonaClacson();

Esercizio 6

Creare una classe "Animale" con metodo "verso". Successivamente, creare una classe "Gatto" che erediti dalla classe "Animale" e sovrascriva il metodo "verso" per restituire il verso del gatto.
class Animale {
  verso() {
    console.log("Sconosciuto");
  }
}

class Gatto extends Animale {
  verso() {
    console.log("Miao!");
  }
}

const gatto = new Gatto();
gatto.verso();

Esercizio 7

Creare una classe "Persona" con metodo "saluta". Successivamente, creare una classe "Studente" che erediti dalla classe "Persona" e sovrascriva il metodo "saluta" per aggiungere il corso di studi nel saluto.
class Persona {
  saluta() {
    console.log("Ciao!");
  }
}

class Studente extends Persona {
  constructor(nome, corsoDiStudi) {
    super();
    this.nome = nome;
    this.corsoDiStudi = corsoDiStudi;
  }

  saluta() {
    console.log(`Ciao! Sono ${this.nome} e studio ${this.corsoDiStudi}.`);
  }
}

const studente = new Studente("Mario", "Informatica");
studente.saluta();

Esercizio 8

Creare una classe "Veicolo" con metodo "avviaMotore". Successivamente, creare una classe "Motocicletta" che erediti dalla classe "Veicolo" e abbia un metodo "guida" oltre al metodo "avviaMotore".
class Veicolo {
  avviaMotore() {
    console.log("Motore avviato.");
  }
}

class Motocicletta extends Veicolo {
  guida() {
    console.log("Guida la motocicletta.");
  }
}

const motocicletta = new Motocicletta();
motocicletta.avviaMotore();
motocicletta.guida();

Esercizio 9

Creare una classe "Forma" con metodo "calcolaArea". Successivamente, creare una classe "Cerchio" che erediti dalla classe "Forma" e abbia una proprietĂ  "raggio" e implementi il metodo "calcolaArea" per calcolare l'area del cerchio.
class Forma {
  calcolaArea() {
    console.log("Area sconosciuta");
  }
}

class Cerchio extends Forma {
  constructor(raggio) {
    super();
    this.raggio = raggio;
  }

  calcolaArea() {
    const area = Math.PI * Math.pow(this.raggio, 2);
    console.log("Area del cerchio:", area.toFixed(2));
  }
}

const cerchio = new Cerchio(5);
cerchio.calcolaArea();