MORENO SARDELLA · RECUPERO JAVA
← Tutte le lezioni
Lezione 3

REALIZZARE CLASSI

Scrivere una classe da zero: variabili esemplare private, incapsulamento con get e set, e il tipo String. Il cuore della programmazione a oggetti.

01
Variabili esemplare

Lo stato dell'oggetto

Le variabili esemplare (o attributi) sono i dati che ogni oggetto porta con se'. Si dichiarano dentro la classe, fuori dai metodi. Ogni oggetto ha la sua copia: due conti hanno due saldi diversi.

02
Incapsulamento

Tutto private

L'incapsulamento e' la regola d'oro: gli attributi si dichiarano private, cosi' dall'esterno non si possono toccare direttamente. Si leggono e si modificano solo attraverso metodi pubblici (getter e setter). Cosi' la classe puo' controllare i dati ed evitare stati assurdi (es. un'eta' negativa).

✗ Senza incapsulamento

public int saldo; // chiunque puo' fare // conto.saldo = -9999; <- assurdo!

✓ Con incapsulamento

private double saldo; public void preleva(double x) { if (x <= saldo) saldo -= x; // controllo }
03
Esempio completo

La classe Conto

Mettiamo insieme tutto: attributo privato, costruttore, metodi modificatori con controllo e un getter.

Conto.java
public class Conto {
    private double saldo;

    public Conto(double iniziale) { this.saldo = iniziale; }

    public void versa(double importo) { saldo += importo; }

    public void preleva(double importo) {
        if (importo <= saldo) saldo -= importo;
        else System.out.println("Saldo insufficiente");
    }

    public double getSaldo() { return saldo; }
}
04
Il tipo String

Lavorare con il testo

Le stringhe in Java sono oggetti della classe String. Si concatenano con + e hanno metodi utili. Attenzione: due stringhe si confrontano con .equals(), non con ==.

MetodoCosa fa
length()numero di caratteri
toUpperCase()tutto maiuscolo
substring(a,b)una porzione di stringa
equals(s)confronta due stringhe
split(";")spezza in un array sui ';'
Errore tipicoif (a == b) confronta i riferimenti, non il contenuto. Per il contenuto: if (a.equals(b)).

Esercizi su classi, incapsulamento e costruttori ↓

Incapsulamento - Esercizi basescarica ↓
Incapsulamento - Esercizi avanzatiscarica ↓