- Autore

- Nome
- Nelson Silva
- Social
Introduzione
L'ereditarietà è uno dei quattro pilastri della programmazione orientata agli oggetti (OOP), insieme all'incapsulamento, al polimorfismo e all'astrazione. Attraverso l'ereditarietà, è possibile creare una nuova classe basata su una già esistente, consentendo il riutilizzo del codice e la costruzione di relazioni gerarchiche.
Fondamenti dell'Ereditarietà
Vantaggi dell'Ereditarietà
- Riutilizzo del Codice: Non è necessario riscrivere lo stesso codice ripetutamente. La sottoclasse eredita tutti i membri della superclasse.
- Estensibilità: È possibile estendere la superclasse esistente per incorporare nuovi attributi e comportamenti.
- Gerarchia di Classi: Stabilisce una relazione gerarchica tra superclasse e sottoclasse.
Limitazioni dell'Ereditarietà in Java
In Java, l'ereditarietà viene implementata usando la parola chiave extends. Tuttavia, esistono alcune limitazioni:
- Ereditarietà Singola: Java non supporta l'ereditarietà multipla tramite classi. Una classe può ereditare solo da una singola classe.
- Costruttori e Inizializzatori Statici: Questi non vengono ereditati dalle sottoclassi.
- Relazione di Associazione: Se una classe eredita un'altra, si tratta di una relazione "è un" (is-a). Ad esempio, se
Figlioè un'estensione diGenitore, alloraFiglioè unGenitore.
La parola chiave protected
La parola chiave protected in Java consente a un membro della classe di essere accessibile direttamente da qualsiasi classe all'interno dello stesso pacchetto o dalle sottoclassi. È un modo per fornire più accesso rispetto a private, pur limitando l'accesso generalizzato come fa public.
package com.caffeinealgorithm.programaremjava;
public class Ereditarieta {
public void Run() {
var persona = new Figlio();
persona.informazione();
persona.ciboPreferito();
/*
Nome: Nelson Silva
Età: 28
Il mio cibo preferito è il risotto ai frutti di mare.
*/
}
}
class Genitore {
protected String cognome = "Silva";
public void ciboPreferito() {
System.out.println("Il mio cibo preferito è il risotto ai frutti di mare.");
}
}
class Figlio extends Genitore {
private String nome = "Nelson";
private int eta = 28;
public void informazione() {
System.out.printf("Nome: %s %s\n", nome, cognome);
System.out.printf("Età: %d\n", eta);
}
}
Conclusione
L'ereditarietà è uno strumento potente in Java che consente ai programmatori di scrivere codice più modulare e riutilizzabile. Comprendendo i fondamenti e le sfumature dell'ereditarietà, sarai meglio preparato ad affrontare le sfide complesse della programmazione orientata agli oggetti in Java.