dichiarare la classe di finale :
MyClass { public final
...
}
Questo impedisce l'ereditarietà della classe, che può minare la sua immutabilità .
2
dichiarare i tuoi campi membro come finale :
...
private int Thenumber finale ;
private String theName finale ;
...
Ciò impone al compilatore di assicurare i campi membro non cambiano dopo l'inizializzazione
3
Inizializzare i campi membro del costruttore : .
MyClass pubblico (int Thenumber , String theName ) {
this.theNumber = Thenumber ;
this.theName = theName ;
}
4
Aggiungi ottenere metodi per consentire l'accesso ai campi :
...
int getTheNumber pubblico ( ) { Thenumber return; }
public String getTheName ( ) { theName return;}
5
Aggiungi logica di convalida al costruttore per garantire che crea correttamente il vostro oggetto . Ad esempio, se il codice prevede Thenumber di essere sempre compreso tra 0 e 100 , è possibile verificare che e genera un'eccezione ( opere IllegalArgumentException ) .
MyClass pubblico (int Thenumber , String theName ) {
se ( Thenumber < =
this.theNumber = Thenumber ;
this.theName = theName ;
}
Questo passaggio consente di sapere ogni casi effettivi di classe sono validi .
6
Per evitare la noia di inizializzazione ogni campo nel costruttore di classi con un numero elevato di campi membro , refactoring in piccoli " oggetti parametro . " Creando più piccolo oggetti che contengono i dati necessari in gruppi logici , si riduce il numero di parametri nella firma del costruttore , pur mantenendo l'immutabilità .
Programmazione © www.354353.com