dedlfix: Objektorientierte Programmierung

Beitrag lesen

Tach!

Welche öffentlichen Methoden sollte eine Klasse zur Verfügung stellen?
Das kommt darauf an was die Klasse darstellen soll. Jede Methode die in einer beliebigen Klasse öffentlich sinnvoll ist, kann in der nächsten Klasse obsolet sein.

Einmal public lässt sich in einer erbenden Klasse dieses Mitglied nicht mehr verstecken, höchstens überschreiben. Wenn man so etwas (das Wiederverstecken) vorhat, dann hat man mit Sicherheit einen Fehler im Klassendesign.

Mal wird es mit Daten aus einem Formular gefüllt, mal aus der Datenbank das nächste mal ist es vielleicht leer und stellt nur ein paar Methoden bereit?
Genau.

Dieselbe Klasse? Eigentlich gibt es grob gesagt zwei Sorten von Klassen, mehr oder weniger reine Datenspeicher und Klassen, die Handlungen vornehmen. Eine Kuh kann selbst zwar Gras fressen, aber melken macht jemand anders. Man müsste sonst die Kuh updaten, wenn man von Handmelken auf maschinelles umsteigen will. In Wirklichkeit muss man sich jedoch eine Melkmaschine anschaffen. Jedenfalls, wenn ein Objekt Daten aus einem Formular oder der Datenbank aufnehmen soll, sehe ich eine ziemlich geringe Wahrscheinlichkeit, dass diese Klasse Methoden hat, die auch ohne diese Daten sinnvoll arbeiten können. Das würde auch nicht mit dem SOLID-Prinzip konform gehen.

Gibt es ein Buch zwischen "Einführung in PHP" und "Design Patterns"?
Sicher. Aber was stört dich am Handbuch?

Das PHP-Handbuch erklärt die OOP-Syntax aber kaum, wie man ein objektorientiertes Programm plant. Syntaxwissen allein macht noch keinen guten Prgrammierer aus. Sein Wunsch nach solchen methodischen Erläuterungen ist verständlich. Vermutlich wird ihm Literatur helfen, die sich mit objektorientierter Programmierung im Allgemeinen beschäftigt. Gab es da nicht mal ein Openbook von Galileo?

dedlfix.