singleton == static?

sra

Erfahrenes Mitglied
hallo

Ich arbeite gerade ein tutorial über Spieleentwicklung durch, welches aber leider mit c++ arbeitet. Da ist die Rede von einem Singeton.

Eine Singleton Klasse, ist eine Klasse, welche sich selbst instanziert, und nachher nicht mehr instanziert werden kann. Desweiteren ist sie "global".

Das sieht mir ganz nach einer static Klasse aus. Ist das das selbe, oder haben diese Singletons noch etwas spezielles an sich?
 
Original geschrieben von sra
hallo
[..]
Das sieht mir ganz nach einer static Klasse aus. Ist das das selbe, oder haben diese Singletons noch etwas spezielles an sich?
Hi,
es gibt keine static Klassen sonder nur statische Methoden und Eigenschaften. Genau hier kommt das Konzept des Singleton ins Spiel. Es soll nur eine einzige Instanz möglich sein. Selbst bei einer Klasse die komplett aus statischen Methoden besteht, können trotzdem Objekte erzeugt werden.

Des Weiteren können statische Methoden nicht virtuell deklariert werden, was vor allem bei einer Vererbung dieser Klasse unter gewissen Umständen eine Rolle spielen dürfte.
 
ok...

Das mit der statischen Klasse hab ich wohl ein bisschen zu voreilig geschrieben. Mir ist natürlich klar, dass es keine statischen Klassen gibt.

Ein Singleton ist also jede beliebige Klasse, sobald sie eine Instanz von sich selbst erstellt, der Konstruktor auf private ist, und sie get und set Methoden für sich selbst hat.
 
Zurück