📢 Nuovo Corso Laravel API disponibile!

Esercizi Poliformismo in Java

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