dedlfix: PHP: Singleton vs Static

Beitrag lesen

Hi!

Ein Singleton kann nicht von einer Elternklasse erben?
Ein Singleton kann kein Interface implementieren?

Klassen können das. Und so kann das theoretisch eine Klasse, die das Singleton-Muster implementiert ebenfalls. Aber es wäre im Fall des Interfaces sinnlos. Wenn es nur eine Instanz geben darf, warum sollte sie dann ein Interface implementieren, was ja die Aufgabe hat, in mehreren verschiedenen Klassen, von denen wiederum Instanzen erzeugt werden können, ein gemeinsames Verhalten zu garantieren? Dann könnte man einfach eine Instanz einer anderen Klasse nehmen, womit die Einmaligkeit nicht mehr gegeben ist. Beim Erben ist es ähnlich. Die Einmaligkeit geht verloren, wenn man von einer Elternklasse einfach Instanzen erzeugen kann, die zumindest Teile des Kindverhaltens zur Verfügung stellen. Genauso ist es, wenn man von einer Singleton-Klasse erben kann.

Das wär mir neu. Ist das in PHP so? Oder sprichst Du generell für die OOP?

Das ist eine logische Einschränkung des Singleton-Patterns, damit es eben die Einmaligkeit sicherstellen kann.

Lo!