Hallo zusammen,
Ich hab eine frage zu dem Singleton Lazy Creation, und zwar gehts ja dabei darum, das von einer Klasse nur ein Objekt erstellt werden kann und das erst dann aufgerufen wird, wenn man es benötigt.
Eine Sache versteh ich an den Code nicht und zwar dieses :
public static SingletonLazy getDasObjekt() {
Was soll das bedeuten bzw. bringen? Ein Methode erstellt man soweit ich weißt
"Public oder Private", "Typ der Methode", "Name der Methode()"
Oder soll der Klassenname der Typ in dem Fall sein, falls ja warum ?
Danke, gruß
Ich hab eine frage zu dem Singleton Lazy Creation, und zwar gehts ja dabei darum, das von einer Klasse nur ein Objekt erstellt werden kann und das erst dann aufgerufen wird, wenn man es benötigt.
Eine Sache versteh ich an den Code nicht und zwar dieses :
public static SingletonLazy getDasObjekt() {
Was soll das bedeuten bzw. bringen? Ein Methode erstellt man soweit ich weißt
"Public oder Private", "Typ der Methode", "Name der Methode()"
Oder soll der Klassenname der Typ in dem Fall sein, falls ja warum ?
Code:
[B]
/* Singelton Pattern : lazy creation */
class SingletonLazy {
/* kein new von außen:
Zunächst muss man sicherstellen, dass von der Klasse keine neuen Objekte(Instanzen) erzeugt
werden können. Hierfür setzt man die Sichbarkeit des Konstruktors
auf private.
*/
private SingletonLazy() { }
/* das Objekt mit Zugriff über den Klassennamen
wird erst bei Bedarf erzeugt : lazy creation
*/
private static SingletonLazy dasObjekt; /*1*/
public static SingletonLazy getDasObjekt() {
if(dasObjekt==null) { // noch nicht erzeugt
dasObjekt = new SingletonLazy(); // *1* fortsetzung von erstellung des Objekts!
}
return dasObjekt;
}
}
[/B]
Danke, gruß