📢 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 "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();