Creare e gestire una classe Persona in Java: input da console, getter/setter e classe di test
In questo articolo vediamo come progettare una semplice classe Java per rappresentare una persona, partendo da un esempio pratico. Analizzeremo tre aspetti fondamentali:
Indice degli argomenti
- L’inserimento dati in Java da Console
- Le get & set
- Preparare la classe Test
- Test di verifica
1. L’inserimento dati in Java da Console
Uno degli aspetti più utili quando si lavora con Java è la possibilità di leggere dati direttamente dalla tastiera. Nel nostro esempio, questo avviene grazie alla classe Scanner.
Nel metodo leggi() della classe Persona, utilizziamo:
Scanner sc = new Scanner(System.in);→ per inizializzare il lettore di inputnextLine()→ per leggere stringhenextInt()→ per leggere numeri interinextFloat()→ per leggere numeri decimali
Questo approccio permette di rendere il programma interattivo. L’utente inserisce i dati richiesti (nome, cognome, età e reddito) e questi vengono salvati direttamente negli attributi dell’oggetto.
Un dettaglio importante: alla fine del metodo è presente sc.close(), che serve a chiudere il flusso di input. È una buona pratica per evitare sprechi di risorse.
2. Le get & set
Gli attributi della classe Persona sono dichiarati come private. Questo significa che non possono essere modificati direttamente dall’esterno della classe.
Per gestirli correttamente si utilizzano i metodi:
- Getter (get) → per leggere i valori
- Setter (set) → per modificarli
Esempio:
public String getNome() { return nome; }
public void setNome(String x) { nome = x; }
Questo approccio segue il principio dell’incapsulamento, fondamentale nella programmazione ad oggetti.
I vantaggi principali sono:
- Maggior controllo sui dati
- Possibilità di validazione (es. evitare età negative)
- Codice più sicuro e manutenibile
Nel nostro caso, ogni attributo (nome, cognome, age, reddito) ha il proprio getter e setter.
3. Preparare la classe Test
Per eseguire il programma è necessario un punto di ingresso: il metodo main. Per mantenere il codice ordinato, questo viene inserito in una classe separata chiamata Test1.
Nel main vediamo due utilizzi della classe Persona:
Primo oggetto (dati impostati manualmente)
Persona p1 = new Persona("Mario","Rossi",40);
p1.setReddito(3000);
System.out.println(p1.toString());
System.out.println(p1.getNome());
Qui creiamo un oggetto già inizializzato e utilizziamo:
setReddito()per modificare un valoretoString()per stampare tutti i datigetNome()per accedere a un singolo attributo
Secondo oggetto (input da tastiera)
Persona p2 = new Persona("","",0);
p2.leggi();
System.out.println(p2.toString());
In questo caso:
- Creiamo un oggetto vuoto
- Usiamo
leggi()per inserire i dati da console - Stampiamo il risultato finale
Questo dimostra come la classe sia flessibile e riutilizzabile.
Conclusione
Questo esempio racchiude tre concetti fondamentali della programmazione Java:
- Interazione con l’utente tramite input da console
- Incapsulamento con getter e setter
- Separazione delle responsabilità tra classe dati (
Persona) e classe di esecuzione (Test1)











