Tom: return false im Konstruktor

Beitrag lesen

Hello,

Ein Konstruktor hat keinen Rückgabewert.

Jedenfalls nicht mehr. Wenn ich mich recht erinnere, konnte man bei PHP 4 den Konstruktor mit return was anderes liefern lassen. PHP 5 macht das aber nicht mehr mit.

Das ist (war) nun sicherlich wieder eine Besonderheit von PHP und anderen Sprachen, die mit varianten Typen umgehen können. Wäre schon lustig, wenn eine OOP-Hochsprache dies zulassen würde, also einen beliebigen Wert anstelle einer Referenz auf das instantiierte Objekt zurückzugeben.

Du kannst aber eine (private) Eigenschaft des Objektes setzen lassen, ob es vernünftig initialisiert wurde.

Das halte ich nicht für eine besonders gute Idee, zumal es mit der Exception oder dem Factory- respektive Singleton-Pattern Möglichkeiten gibt, bei der am Ende kein "unvernünftiges" Objekt entsteht.

Das kommt doch darauf an, was die automatisch vom Konstruktor aufgerufene run()-Methode (oder wie auch immer man sie nennt) des Objektes veranstaltet. Die Initialisierung sollte doch auf jeden Fall erstmal ordnungsgemäß stattfinden.

Und wie man ein Objekt dann intern gegen Fehlbedienung absichert, ist auch nicht direkt daran gekoppelt, ob man es überhaupt erzeugen kann oder nicht.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de