Een onveranderlijk object in de programmering , als je eenmaal hebt gemaakt en geïnitialiseerd , kan nooit de status te wijzigen . Dit kan contraproductief lijkt aangezien het punt van de programmering is om gegevens te manipuleren . Echter , door het ontwerpen van uw klassen naar plaatsen waar hun gegevens kunnen wijzigen elimineren , kunt u hele categorieën van potentiële problemen te verwijderen van uw programma . Dit zorgt ervoor dat de data is altijd geldig is en uw lessen zijn automatisch thread - safe , en je hoeft geen zorgen te maken over het vergeten om de leden van uw klasse te initialiseren . Wat je nodig hebt geïntegreerde ontwikkelomgeving ( IDE ) zoals Eclipse of NetBeans Toon Meer Aanwijzingen 1 Verklaar je klas als laatste : public final class MyClass { ... } Dit voorkomt erfdeel van je klas , dat zijn onveranderlijkheid kan ondermijnen . kopen van 2 verklaar je lid terreinen als laatste : private int laatste thenumber ... ; prive laatste String theName ; ... Dit dwingt de compiler om ervoor te zorgen de lid velden niet veranderen na het initialiseren 3 Initialiseer het lid velden in de constructor : . openbare MyClass ( int thenumber , String theName ) { this.theNumber = thenumber ; this.theName = theName ; } 4 toevoegen krijgen methoden om geven toegang tot de velden : ... public int getTheNumber ( ) { return thenumber ; } public String getTheName ( ) { return theName ; } Goedkope 5 toevoegen validatielogica aan de aannemer om ervoor te zorgen dat uw object correct creëert . Bijvoorbeeld, als je code verwacht thenumber om altijd tussen 0 en 100 , kunt u controleren of en gooi een uitzondering ( IllegalArgumentException werken) . Openbare MyClass ( int thenumber , String theName ) { if ( thenumber < = this.theNumber = thenumber ; this.theName = theName ; } Deze stap helpt u weet elke feitelijke van je klas zijn geldig . 6 Om de verveling van het initialiseren van elk veld in de constructor van klassen met een groot aantal lid velden , refactor in kleinere vermijden " parameter objecten. " Door het creëren van kleinere objecten die de gegevens die u nodig hebt in logische groepen , u het aantal parameters in de handtekening van uw bouwer te verlagen met behoud van onveranderlijkheid bevatten .
|