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.

Singleton

Ein Singleton (einelementige Menge, Einzelinstanz ) ist eine Klasse von der nur ein einziges Objekt erzeugt werden darf. Er stellt globale Zugriffsmöglichkeit auf das eine Objekt zur Verfügung und instanziert das Objekt automatisch beim ersten Zugriff.

Singletons können den Zugriff auf statische Variablen kapseln und ihre Instanzierung kontrollieren. Durch die Deklaration eines privaten Konstruktors können keine Instanzen außerhalb der Klasse erzeugt werden.

Wichtige Designmerkmale einer Singleton-Klasse:

  • Hat eine statische Membervariable ihres eigenen Typs, in dem die einzige Instanz gespeichert wird
  • Hat eine statische Methode getInstance, mit der auf die Instanz zugegriffen werden kann
  • Hat einen privaten parameterlosen Konstruktor (verhindert das Ableiten und das andere Klassen mittels new eine Instanz erzeugen)

Beispiel

Singleton.java
  1. // Exemplarische Singleton-Implementierung
  2. public class Singleton
  3. {
  4.         private static Singleton instance = null;
  5.  
  6.         /* Expliziter Konstruktor muss unbenutzbar gemacht werden! */
  7.         private Singleton() {}
  8.  
  9.         public static Singleton getInstance() {
  10.                 if(instance == null) {
  11.                         instance = new Singleton();
  12.                 }
  13.                 return instance;
  14.         }
  15.         // Weitere Methoden ...
  16. }
  17.  
  18. Singleton s = new Singleton(); // Fehler!!!
  19. // Zugriff auf Singleton-Instanz mittels
  20. Singleton instance = Singleton.getInstance();

Links

Zuletzt geändert am 01.10.2006 17:19 Uhr
  Impressum