🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Poliformismo in Java

Codegrind Team•Jul 22 2023

Ecco degli esercizi semplici con soluzione per praticare le basi del poliformismo in Java.

Esercizio 1

Creare una classe Figura con un metodo calcolaArea che restituisce l'area della figura:
public class Figura {
    public double calcolaArea() {
        return 0;
    }
}

public static void main(String[] args) {
    Figura figura = new Figura();
    double area = figura.calcolaArea();
    System.out.println("Area: " + area);
}

Esercizio 2

Creare una classe Quadrato che estende la classe Figura e implementa il metodo calcolaArea per calcolare l'area del quadrato:
public class Quadrato extends Figura {
    private double lato;

    public Quadrato(double lato) {
        this.lato = lato;
    }

    public double calcolaArea() {
        return lato * lato;
    }
}

public static void main(String[] args) {
    Quadrato quadrato = new Quadrato(5.0);
    double area = quadrato.calcolaArea();
    System.out.println("Area quadrato: " + area);
}

Esercizio 3

Creare una classe Cerchio che estende la classe Figura e implementa il metodo calcolaArea per calcolare l'area del cerchio:
public class Cerchio extends Figura {
    private double raggio;

    public Cerchio(double raggio) {
        this.raggio = raggio;
    }

    public double calcolaArea() {
        return Math.PI * raggio * raggio;
    }
}

public static void main(String[] args) {
    Cerchio cerchio = new Cerchio(3.0);
    double area = cerchio.calcolaArea();
    System.out.println("Area cerchio: " + area);
}

Esercizio 4

Creare una classe Triangolo che estende la classe Figura e implementa il metodo calcolaArea per calcolare l'area del triangolo:
public class Triangolo extends Figura {
    private double base;
    private double altezza;

    public Triangolo(double base, double altezza) {
        this.base = base;
        this.altezza = altezza;
    }

    public double calcolaArea() {
        return (base * altezza) / 2;
    }
}

public static void main(String[] args) {
    Triangolo triangolo = new Triangolo(4.0, 6.0);
    double area = triangolo.calcolaArea();
    System.out.println("Area triangolo: " + area);
}

Esercizio 5

Creare una classe Animal con un metodo emettiSuono che visualizza il suono dell'animale:
public class Animal {
    public void emettiSuono() {
        System.out.println("Suono generico");
    }
}

public static void main(String[] args) {
    Animal animale = new Animal();
    animale.emettiSuono();
}

Esercizio 6

Creare una classe Cane che estende la classe Animal e sovrascrive il metodo emettiSuono per visualizzare il suono del cane:
public class Cane extends Animal {
    public void emettiSuono() {
        System.out.println("Bau bau");
    }
}

public static void main(String[] args) {
    Animal cane = new Cane();
    cane.emettiSuono();
}

Esercizio 7

Creare una classe Gatto che estende la classe Animal e sovrascrive il metodo emettiSuono per visualizzare il suono del gatto:
public class Gatto extends Animal {
    public void emettiSuono() {
        System.out.println("Miao miao");
    }
}

public static void main(String[] args) {
    Animal gatto = new Gatto();
    gatto.emettiSuono();
}

Esercizio 8

Creare una classe Personaggio con un metodo eseguiAzione che esegue un'azione generica del personaggio:
public class Personaggio {
    public void eseguiAzione() {
        System.out.println("Azione generica");
    }
}

public static void main(String[] args) {
    Personaggio personaggio = new Personaggio();
    personaggio.eseguiAzione();
}

Esercizio 9

Creare una classe Guerriero che estende la classe Personaggio e sovrascrive il metodo eseguiAzione per eseguire un'azione specifica del guerriero:
public class Guerriero extends Personaggio {
    public void eseguiAzione() {
        System.out.println("Attacco con la spada!");
    }
}

public static void main(String[] args) {
    Personaggio guerriero = new Guerriero();
    guerriero.eseguiAzione();
}

Esercizio 10

Creare una classe Mago che estende la classe Personaggio e sovrascrive il metodo eseguiAzione per eseguire un'azione specifica del mago:
public class Mago extends Personaggio {
    public void eseguiAzione() {
        System.out.println("Lancio un incantesimo!");
    }
}

public static void main(String[] args) {
    Personaggio mago = new Mago();
    mago.eseguiAzione();
}