Easy Coding
  Forum Wiki Tagging Projekte Karte RSS
» Start
» All Recent Changes
» Wiki Suche
» Wiki Hilfe

Informationen

How To's Algorithmen

edit SideBar

Neue Wiki Eintrage finden Sie unter easy-coding.de/wiki.

Immutable

Immutable Objekte sind nach ihrer Instanzierung unveränderbar.

Die Membervariablen werden im Konstruktor oder beim Initialisieren gesetzt und danach nur noch lesend verwendet.

Wichtige Designmerkmale

  • Alle Membervariablen sind private
  • Schreibender Zugriff auf Membervariablen nur im Konstruktor/Initialisierer
  • Lesende Zugriffe verboten, wenn Membervariable ein veränderliches Objekt oder Array ist
  • Veränderliche Objekte/Arrays, die im Konstruktor übergeben werden, müssen vor der Zuweisung an Membervariablen kopiert werden

Beispiel

Immutable.java
  1. public final class Immutable
  2. {
  3.         private int v1;
  4.         private String[] v2;
  5.         public Immutable(int v1, String[] v2) {
  6.                 this.v1 = v1;
  7.                 // Arrays vor der Zuweisung kopieren!
  8.                 this.v2 = (String[]) v2.clone();
  9.         }
  10.         public int getIntValue() {
  11.                 return v1;
  12.         }
  13.         public String getStringValue(int index) {
  14.                 return v2[index];
  15.         }
  16. }

Verwandte Links

Zuletzt geändert am 30.09.2006 17:16 Uhr
  Impressum