En uforanderlig objekt i programmering , når du har opprettet og initialisert det , kan aldri endre sin tilstand . Dette kan virke mot sin hensikt , siden poenget med programmering er å manipulere data . Men ved å designe dine klasser for å eliminere steder der deres data kan endre , kan du fjerne hele kategorier av potensielle problemer fra programmet . Dette sikrer at data er alltid gyldig og klassene er automatisk tråd-safe , og du trenger ikke å bekymre deg for å glemme å starte medlemmer av klassen. Du trenger
Integrert utviklingsmiljø ( IDE ) som Eclipse eller NetBeans
Vis flere instruksjoner
en
Erklærer din klasse som endelig : en
public final class MyClass {
...
}
p Dette hindrer arv av klassen , noe som kan undergrave sin uforanderlighet .
2
erklærer din medlem felt som endelig : en
...
private final int Thenumber ;
private final String thename ;
...
Dette tvinger kompilatoren for å sikre medlemsbedriftene feltene ikke endres etter initialisering
3
Starte medlem feltene i konstruktøren : .
offentlig MyClass ( int Thenumber , String thename ) {
this.theNumber = Thenumber ;
this.theName = thename ;
}
4
Legg få metoder for å tillate tilgang til feltene :
...
public int getTheNumber ( ) {return Thenumber ; }
public String getTheName ( ) {return thename ; }
5
Legg validering logikken til konstruktøren å sikre at det skaper din objekt korrekt . For eksempel, hvis din kode forventer Thenumber å alltid ligge mellom 0 og 100 , kan du sjekke det og kaste et unntak ( IllegalArgumentException verk) .
Offentlig MyClass ( int Thenumber , String thename ) {
< p > if ( Thenumber < =
this.theNumber = Thenumber ;
this.theName = thename ;
}
Dette trinnet hjelper deg kjenner noen faktiske forekomster av klassen din er gyldig .
6
å unngå kjedelige initialiserer alle felt i konstruktøren av klasser med et stort antall medlemsland felt , refactor i mindre " parameter objekter." Ved å opprette mindre gjenstander som inneholder de dataene du trenger i logiske grupper , reduserer du antall parametere i konstruktøren underskrift samtidig opprettholde uforanderlighet .