📢 Nuovo Corso Laravel API disponibile!

Esercizi Classi Astratte Java

Ecco degli esercizi semplici con soluzione per praticare le basi delle classi astratte in Java.

Esercizio 1

Creare una classe astratta Veicolo con un metodo astratto calcolaVelocita che restituisce la velocità del veicolo:
public abstract class Veicolo {
public abstract double calcolaVelocita();
public static void main(String[] args) {
Veicolo veicolo = new Veicolo() {
public double calcolaVelocita() {
return 0;
}
};
double velocita = veicolo.calcolaVelocita();
System.out.println("Velocità veicolo: " + velocita);
}
}

Esercizio 2

Creare una classe astratta Forma con un metodo astratto calcolaArea che restituisce l'area della forma:
public abstract class Forma {
public abstract double calcolaArea();
public static void main(String[] args) {
Forma forma = new Forma() {
public double calcolaArea() {
return 0;
}
};
double area = forma.calcolaArea();
System.out.println("Area forma: " + area);
}
}

Esercizio 3

Creare una classe astratta Animale con un metodo astratto emettiSuono che visualizza il suono dell'animale:
public abstract class Animale {
public abstract void emettiSuono();
public static void main(String[] args) {
Animale animale = new Animale() {
public void emettiSuono() {
System.out.println("Suono generico");
}
};
animale.emettiSuono();
}
}

Esercizio 4

Creare una classe Cane che estende la classe Animale e implementa il metodo emettiSuono per visualizzare il suono del cane:
public class Cane extends Animale {
public void emettiSuono() {
System.out.println("Bau bau");
}
public static void main(String[] args) {
Cane cane = new Cane();
cane.emettiSuono();
}
}

Esercizio 5

Creare una classe Gatto che estende la classe Animale e implementa il metodo emettiSuono per visualizzare il suono del gatto:
public class Gatto extends Animale {
public void emettiSuono() {
System.out.println("Miao miao");
}
public static void main(String[] args) {
Gatto gatto = new Gatto();
gatto.emettiSuono();
}
}

Esercizio 6

Creare una classe astratta Dispositivo con un metodo astratto accendi che accende il dispositivo:
public abstract class Dispositivo {
public abstract void accendi();
public static void main(String[] args) {
Dispositivo dispositivo = new Dispositivo() {
public void accendi() {
System.out.println("Dispositivo acceso");
}
};
dispositivo.accendi();
}
}

Esercizio 7

Creare una classe Televisore che estende la classe Dispositivo e implementa il metodo accendi per accendere il televisore:
public class Televisore extends Dispositivo {
public void accendi() {
System.out.println("Televisore acceso");
}
public static void main(String[] args) {
Televisore televisore = new Televisore();
televisore.accendi();
}
}

Esercizio 8

Creare una classe Lampada che estende la classe Dispositivo e implementa il metodo accendi per accendere la lampada:
public class Lampada extends Dispositivo {
public void accendi() {
System.out.println("Lampada accesa");
}
public static void main(String[] args) {
Lampada lampada = new Lampada();
lampada.accendi();
}
}

Esercizio 9

Creare una classe astratta Prodotto con un metodo astratto calcolaPrezzo che restituisce il prezzo del prodotto:
public abstract class Prodotto {
public abstract double calcolaPrezzo();
public static void main(String[] args) {
Prodotto prodotto = new Prodotto() {
public double calcolaPrezzo() {
return 0;
}
};
double prezzo = prodotto.calcolaPrezzo();
System.out.println("Prezzo prodotto: " + prezzo);
}
}

Esercizio 10

Creare una classe Libro che estende la classe Prodotto e implementa il metodo calcolaPrezzo per calcolare il prezzo del libro:
public class Libro extends Prodotto {
private double prezzo;
public Libro(double prezzo) {
this.prezzo = prezzo;
}
public double calcolaPrezzo() {
return prezzo;
}
public static void main(String[] args) {
Libro libro = new Libro(19.99);
double prezzo = libro.calcolaPrezzo();
System.out.println("Prezzo libro: " + prezzo);
}
}