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