En uforanderlige objekt i programmering, når du har oprettet og initialiseret den, kan aldrig ændre sin tilstand . Dette kan synes kontraproduktivt , da det punkt af programmeringen er at manipulere data. Men ved at designe dine klasser til at fjerne steder, hvor deres data kan ændre , kan du fjerne hele kategorier af potentielle problemer fra dit program. Dette sikrer, at data altid er gyldig, og dine klasser er automatisk thread- safe, og du behøver ikke at bekymre dig om at glemme at initialisere medlemmer af din klasse. Ting du skal
integreret udviklingsmiljø (IDE ) såsom Eclipse eller NetBeans
Vis Flere Instruktioner
1
Erklær din klasse som endelig : Hej
offentlige endelige class MinKlasse {
...
}
Dette forhindrer arv af din klasse, som kan underminere dens uforanderlighed .
2
Erklær din medlemslande felter som endelig : Hej
...
private endelige int theNumber ,
private endelige String thename ,
...
Dette tvinger compileren til at sikre, at medlemsstaterne felterne ikke ændre sig efter initialisering
3
Initialiser medlemslande felter i konstruktøren : .
offentlig MinKlasse ( int theNumber , String thename ) {
this.theNumber = theNumber ,
this.theName = thename ,
}
4
Tilføj får metoder til at give adgang til de områder:
...
offentlig int getTheNumber () {return theNumber ;}
public String getTheName () {return thename ;}
5
Tilføj validering logik til konstruktøren at sikre det skaber dit objekt korrekt . For eksempel, hvis din kode forventer theNumber altid at være mellem 0 og 100 kan du tjekke det, og smide en undtagelse ( IllegalArgumentException værker ) .
Offentlig MinKlasse ( int theNumber , String thename ) {
< p > if ( theNumber <=
this.theNumber = theNumber ,
this.theName = thename ,
}
Dette trin hjælper dig med at kender nogen faktiske forekomster af din klasse er gyldige.
6
For at undgå kedelige af initialisering hvert felt i konstruktøren af klasser med et stort antal medlemslande felter refactor i mindre " parameter objekter. " Ved at skabe mindre objekter, der indeholder de data, du har brug for i logiske grupper , kan du reducere antallet af parametre i din konstruktør underskrift samtidig bibeholde uforanderlighed .