Come creare un oggetto immutabile in Java

January 1

Come creare un oggetto immutabile in Java


Un oggetto immutabile nella programmazione, una volta che hai creato e inizializzato esso, non potrà mai cambiare il suo stato. Questo può sembrare controproducente, poiché il punto di programmazione è quello di manipolare i dati. Tuttavia, progettando le classi di eliminare posti in cui i loro dati possono cambiare, è possibile rimuovere intere categorie di potenziali problemi dal programma. Questo assicura i dati sono sempre validi e le classi sono automaticamente thread-safe, e non dovete preoccuparvi di dimenticare per inizializzare i membri della tua classe.

istruzione

1 Dichiarare la classe come finale:

public final class MyClass {

...

}

Questo impedisce l'ereditarietà della classe, che può minare la sua immutabilità.

2 Dichiarare i campi membri come finale:

...

int Thenumber finale privato;

Private String finale theName;

...

Questo costringe il compilatore per garantire i campi membro non cambiano dopo l'inizializzazione.

3 Inizializzare i campi membro nel costruttore:

MyClass pubblici (int Thenumber, String theName) {

this.theNumber = theNumber;

this.theName = theName;

}

4 Aggiungere metodi get per consentire l'accesso ai campi:

...

public int getTheNumber () {return Thenumber; }

public String getTheName () {return theName; }

5 Aggiungere la logica di convalida al costruttore per assicurarsi che crea correttamente l'oggetto. Ad esempio, se il codice prevede Thenumber di essere sempre tra 0 e 100, è possibile verificare che e un'eccezione (IllegalArgumentException funziona).

MyClass pubblici (int Thenumber, String theName) {

if (theNumber <=

this.theNumber = Thenumber;

this.theName = theName;

}

Questo passaggio consente di sapere tutte le istanze reali della vostra classe sono validi.

6 Per evitare la noia di inizializzazione ogni campo nel costruttore di classi con un gran numero di campi membri, refactoring in piccoli "oggetti di parametri." Con la creazione di oggetti più piccoli che contengono i dati necessari in gruppi logici, è possibile ridurre il numero di parametri nella firma del costruttore, pur mantenendo immutabilità.


Articoli Correlati