L'ereditarietà è un concetto fondamentale nell'Orientamento agli Oggetti (OOP) che consente la creazione di nuove classi basate su classi esistenti, consentendo di ereditare attributi e metodi dalla classe genitore.
L'ereditarietà consente a una classe di ereditare attributi e metodi da una classe esistente chiamata classe genitore o superclasse. La classe che eredita è chiamata classe figlia o sottoclasse.
Ecco un esempio di ereditarietà in Java:
class Veicolo {
String marca;
int anno;
void mostraInfo() {
System.out.println("Marca: " + marca);
System.out.println("Anno: " + anno);
}
}
class Auto extends Veicolo {
int numeroPorte;
void mostraInfoAuto() {
mostraInfo();
System.out.println("Numero porte: " + numeroPorte);
}
}
class Moto extends Veicolo {
String tipo;
void mostraInfoMoto() {
mostraInfo();
System.out.println("Tipo: " + tipo);
}
}
public class Main {
public static void main(String[] args) {
Auto auto = new Auto();
auto.marca = "Toyota";
auto.anno = 2020;
auto.numeroPorte = 4;
auto.mostraInfoAuto();
Moto moto = new Moto();
moto.marca = "Honda";
moto.anno = 2018;
moto.tipo = "Sportiva";
moto.mostraInfoMoto();
}
}
In questo esempio, le classi Auto e Moto ereditano attributi e metodi dalla classe Veicolo. Le classi figlie possono quindi utilizzare i metodi della classe genitore e aggiungere metodi e attributi specifici.