Hauptmenü

Untermenü

OOP PHP5 - Grundlagen

1. Die Vorteile

Kommen wir nun zu den grundsätzlichen Vorteilen die uns die OOP im Vergleich zur prozeduralen Programmierung bietet. Wer sich jetzt fragt, was Klassen sind, dem sei dies gesagt.

"Gemach, kecker Recke, kommt gleich." [Quelle: ich, zu ungeduldigen Anfängern]

2. Das Beispiel

... mit dem ich euch im Folgenden konfrontieren werde, ist ziemlich seltsam. Aber so bin ich halt. Wenn ich etwas anhand völlig idiotischer Beispiele erklären kann, so habe zumindest ich es selber verstanden. Ob andere damit klarkommen? Keine Ahnung, mal abwarten.

3. Begriffe

In der Objektorientierten Programmierung (OOP) gibt es vier elementare Dinge.

Um euch das und alles Weitere zu erläutern, gehen wir mal von folgender Situation aus, die sich quer durch diese Einführung ziehen wird.

Also, da gibt es einen Mann, nennen wir ihn "Dieter". Und der ist total scharf auf eine Frau, sagen wir mal "Dörte". Um denn nun ihr Herz zu gewinnen (oder sie einfach nur ins Bett zu bekommen), will er sie zu einem romantischen Abendessen einladen. Und damit ich für spezielle Dinge endlich mal ein paar vernünftige Beispiele zur Hand habe, hat er sich einen Hund zugelegt, um Dörte damit zu beeindrucken.

Das Objekt

Im Sinne der OOP handelt es sich bei diesen beiden Personen um Objekte. Wenn sie dann in einem Restaurant dinieren (Anmerkung des Verfassers: sauberes Deutsch für "Mampfen gehen"), so ist dieser Fresstempel auch eines. Objekte sind also programmiertechnisch gesehen irgendwelche Dinge. Genau so wie im richtigen Leben halt. Das klingt im Moment zwar ziemlich banal, ist sehr wichtig für das Verständnis.

Die Klasse

Durch Klassen werden Objekte erzeugt. Sie sind eine Art von Entwurfsmuster oder Bauplan, nach denen das Objekt aufgebaut ist. Will man also die beiden Objekte "Dieter" und "Dörte" erzeugen, so geschieht dies aus einer Klasse "Mensch". Will man sich einen Fiffi, Purzel oder Wauzi zulegen, so benötigt man dafür eine Klasse "Hund".

Man könnte auch einen anderen Weg gehen. Es besteht in der Objektorientierten Programmierung auch die Möglichkeit, eine Art von "Überklasse" zu nehmen, von denen dann "Unterklassen" abgeleitet sind. Um also Dieter, Dörte, Fiffi, Purzel oder Wauzi zu erzeugen, könnte man als Erstes eine Klasse "Säugetiere" entwickeln. Auf der bauen dann die Klassen "Mensch" und "Hund" auf. Klingt im Moment noch ein wenig kompliziert, aber darauf werde ich bald eingehen.

Die Eigenschaft

Diesen Begriff werde ich von nun an konsequent benutzen, da er meiner Meinung nach die beste Beschreibung ist. Andere nennen das auch "Instanzvariablen", "Attribut" oder "Member", wobei ich vor allem letzteren Ausdruck für äußert unglücklich halte.

Also, jedes Objekt hat eine oder mehrere Eigenschaften, die den Zustand oder die Zustände von Selbigem festlegen. Wodurch unterscheiden sich nun Dieter und Dörte voneinander? Ganz einfach, durch ihr Geschlecht und ihren Namen. Wenn wir jetzt noch unsere Töle mit einbeziehen, so könnte man zum Beispiel in der Klasse "Säugetier" folgende Eigenschaften haben.

Natürlich kann man auch weitere Eigenschaften setzen. Das hängt allerdings vom Ziel der Programmierung ab und kann hier noch nicht detailliert erläutert werden.

Die Methode

Gottlob scheint dieser Begriff allgemein gültig zu sein. Dabei handelt es sich um alles, was Objekte machen können. Ein Auto kann fahren, ein Hund kann das Haus bewachen (oder auch nicht), eine Frau ..., na ja kann vieles oder gar nichts. Sorry, musste sein ;-). Ein Mann kann sein Auto waschen oder im Haushalt helfen. Oder auch nicht. Und so weiter und so fort.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt