maximilius: Abstraktion

Beitrag lesen

Du könntest durchaus alle Methoden protected setzen (php != java; protected bedeutet in java, dass das ganze Package Zugriff hat, private nur die Klasse und Kindklassen. In PHP bedeutet private, dass nur die Klasse selbst Zugriff hat, sollen auch erbende Klassen das Privileg des Zugriffs haben, muss die Methode protected sein). In der Kindklasse hast du dann an sich nur noch Methoden, die von außen gar nicht aufrufbar sind. In der Elternklasse könntest du dann mittels __call() den Zugriff auf bestimmte Methoden erlauben. Auf diese Art und Weise könntest du den externen Zugriff auf weitere (protected!) Methoden der Kindkassen tatsächlich verwehren - mit welchem Sinn und Zweck auch immer...

Stimmt, das würde gehen.
Ich würde die Anwendung gerne wartbar halten.
Wegen der Wartbarkeit möchte ich ja erst die abstrakte Elternklasse verwenden.
Aber zur Wartbarkeit gehört auch dazu, dass man den Code gut lesen und verstehen kann.
Ich glaube, wenn ich die von dir beschriebene Vorgehensweise in den Code einbaue, muss man sich eine Weile reinfuchsen, bevor man versteht, was da eigentlich passiert, bzw. warum dieser Weg gegangen wurde.

Was denkst du?

lg Stephan