Hauptmenü

Untermenü

OOP mit PHP5 - Einstiegstutorial 1 - Zusammenfassung

1. Die Abschnitte

2. Das bisher Erlernte

Ich hoffe, ihr habt hier schon ein wenig über objektorientierte Programmierung gelernt. Auch wenn das hier nur der allererste Schritt war. Darum fasse ich hier noch mal all die Dinge zusammen, die mir wichtig waren.

3. Die Eigenschaften

Anhand einiger Beispiele habt ihr sicher erkannt, dass die Eigenschaften einer Klasse in allen Methoden verfügbar sind. Auch nach einer Änderung der Werte. Allerdings ist das so eine Sache und hat nicht unbedingt etwas mit objektorientierter Programmierung zu tun. Aber darauf werde ich (viel) später eingehen.

Wann definiert man eine Variable als Eigenschaft einer Klasse?

Ich will das jetzt mal ganz einfach ausdrücken. Wenn der Wert einer Variable von mehreren Methoden aufruf - und beeinflussbar sein soll. Und wenn diese Variable Einfluss auf dem Zustand eines Objektes hat. Und wenn man ggf. den Wert außerhalb der Klasse anpassen möchte. Alle anderen Variablen dienen nur der Verarbeitung innerhalb von einzelnen(!) Methoden.

Warum haben wir die Sichtbarkeit aller Eigenschaften dieses Beispiels als private festgelegt?

Damit der Nutzer dieser Klasse nur die absolut notwendigen Anpassungen vornehmen kann! Und dies auch nur, wenn das über die vorgegebenen Methoden möglich ist. So kann man zum Beispiel $files außerhalb der Klasse nicht beeinflussen, da es dafür keine Methode gibt.

Ein Hinweis

Über die Sichtbarkeitsstufen von Eigenschaften gibt es geteilte Meinungen. Etliche Programmierer bevorzugen eine eher offene Sichtbarkeitsstufe, Kapselungsfanatiker wie ich schirmen dagegen alles so weit wie möglich ab, was nicht bei drei auf den Bäumen ist. Beide Vorgehensweisen haben ihre Vor- und Nachteile. Eine optimale Lösung gibt es leider nicht. Entscheidet also selber, wie ihr vorgeht.

4. Methoden

Wann legt man eine Methode als public und wann als private fest?

In diesem(!) Beispiel gelten die folgenden Regeln. Wenn man außerhalb einer Klasse Einfluss nehmen möchte, so legt man die entsprechenden Methoden als public fest. Alles andere, was die interne Verarbeitung angeht, wird als private definiert. Sollte man zum Beispiel die interne Verarbeitung der Klasse ändern, so merkt der Nutzer nichts davon. Und das werden wir im zweiten Tutorial dann auch machen.

Warum heißen die Parameter $file und $folder, obwohl bei den Methoden dasselbe gemeint ist?

Bei den Methoden setFolder, checkFolder, setFile und checkFiletype heißen die Parameter der Methoden mal $folder und mal $file. In allen Fällen handelt es sich dabei aber um ein und dasselbe. Warum denn unterschiedliche Namen dafür? Nun, Namen sind Schall und Rauch. Es ist völlig egal, wie die Parameter der Methoden heißen, solange sie korrekt übergeben werden.

Was soll dieses $var in diversen Methoden bedeuten?

Siehe oben. Das ist das Selbe, nur in grün. Wie der Parameter heißt, ist völlig egal.

5. Kritik, Anregungen, Fragen

Falls euch obiges auf dem Herzen liegt, so schickt mir doch bitte eine Mail mit einer genauen Erklärung, was euch stört. Ich werde dann ggf. die entsprechenden Anpassungen vornehmen.

Aber bitte arbeitet vorher noch die anderen Tutorials durch. Dann erkennt ihr vielleicht das didaktische Gesamtkonzept. Auch wenn ich jetzt wie Lehrer rede, der sein Staatsexamen in den 70ern abgelegt hat.

zurück zum vorherigen Abschnitt