Esercizi Ereditarietà in Java
Ecco degli esercizi semplici con soluzione per praticare le basi sull’ereditarieta delle classi in Java.
Esercizio 1
Creare una classe Veicolo con un campo marca e un metodo mostraMarca per visualizzare la marca del veicolo:
public class Veicolo { protected String marca;
public Veicolo(String marca) { this.marca = marca; }
public void mostraMarca() { System.out.println("Marca: " + marca); }}
public static void main(String[] args) { Veicolo veicolo = new Veicolo("Fiat"); veicolo.mostraMarca();}
Esercizio 2
Creare una classe Auto che estende la classe Veicolo e aggiunge un campo modello e un metodo mostraModello per visualizzare il modello dell'auto:
public class Auto extends Veicolo { private String modello;
public Auto(String marca, String modello) { super(marca); this.modello = modello; }
public void mostraModello() { System.out.println("Modello: " + modello); }}
public static void main(String[] args) { Auto auto = new Auto("Fiat", "Punto"); auto.mostraMarca(); auto.mostraModello();}
Esercizio 3
Creare una classe Moto che estende la classe Veicolo e aggiunge un campo cilindrata e un metodo mostraCilindrata per visualizzare la cilindrata della moto:
public class Moto extends Veicolo { private int cilindrata;
public Moto(String marca, int cilindrata) { super(marca); this.cilindrata = cilindrata; }
public void mostraCilindrata() { System.out.println("Cilindrata: " + cilindrata + "cc"); }}
public static void main(String[] args) { Moto moto = new Moto("Honda", 500); moto.mostraMarca(); moto.mostraCilindrata();}
Esercizio 4
Creare una classe FiguraGeometrica con un metodo calcolaArea che restituisce l'area della figura geometrica:
public class FiguraGeometrica { public double calcolaArea() { return 0; }}
public static void main(String[] args) { FiguraGeometrica figura = new FiguraGeometrica(); double area = figura.calcolaArea(); System.out.println("Area: " + area);}
Esercizio 5
Creare una classe Quadrato che estende la classe FiguraGeometrica e implementa il metodo calcolaArea per calcolare l'area del quadrato:
public class Quadrato extends FiguraGeometrica { 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 6
Creare una classe Cerchio che estende la classe FiguraGeometrica e implementa il metodo calcolaArea per calcolare l'area del cerchio:
public class Cerchio extends FiguraGeometrica { 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 7
Creare una classe Animale con un metodo emettiSuono che visualizza il suono dell'animale:
public class Animale { public void emettiSuono() { System.out.println("Suono generico"); }}
public static void main(String[] args) { Animale animale = new Animale(); animale.emettiSuono();}
Esercizio 8
Creare una classe Cane che estende la classe Animale e sovrascrive 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 9
Creare una classe Gatto che estende la classe Animale e sovrascrive 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 10
Creare una classe Studente con un campo matricola e un metodo mostraMatricola per visualizzare la matricola dello studente:
public class Studente { protected int matricola;
public Studente(int matricola) { this.matricola = matricola; }
public void mostraMatricola() { System.out.println("Matricola: " + matricola); }}
public static void main(String[] args) { Studente studente = new Studente(12345); studente.mostraMatricola();}