Einblick in die OOP
In diesem Tutorial will ich euch einen kleinen Einblick in die
Objekt Orientierte Programmierung in PHP verschaffen. Ich werde hier
hauptsächlich nur die Grundlagen beschreiben, da wenn ich hier jede
einzelheit abarbeiten würde ein ganzes Buch mit stumpfen Theorie
Kram füllen könnte.
Zunächst stellt sich sicher die Frage warum man eine zu Anfangs
solch verwirrende Technick lernen sollte wo sie doch nicht zwingend
notwendig ist. Die Antwort ist in meinen Augen so einfach wie Genial,
wenn man es erstmal versteht kann man sich dadurch Berge von Programmier -
und Freizeit ersparen. Die Vorteile der OOP liegen ganz klar darin das
man ihre innere Logik nicht wirklich kennen muss um sie verwenden zu
können hinzu. Es gibt natürlich noch viel mehr Vorteile, aber für den
passendesten ist mir einfach nichts in eigenen Worten eingefallen,
deshalb zitiere ich an dieser Stelle einfach mal einen Satz aus dem
Artikel mit dem ich meinen Einstieg in die OOP gewagt habe.
"Sie ermöglicht es, immer wiederkehrende Aufgaben in so genannten Klassen zu bündeln."
Wenn man ein absoluter Anfänger ist sollte man an dieser Stelle wohl
das lesen aufhören, es gibt zwar Leute die sagen das besonders Anfänger
die OOP leicht lernen aber deren Meinung Teile ich keinesfalls. Ich selbst
gebe mich nun seit einer geraumen Zeit damit ab und habe trotzdem noch an
der ein oder anderen Stelle Probleme damit. Obwohl die Vorteile der OOP klar sind,
empfehle ich euch allerdings sie nicht an jeder Ecke zu verwenden.
Ganz ehrlich ich musste lange grübeln um ein passendes Beispiel zu finden wie
ich euch das ganze erklären kann. Gut, ich versuche es einfach mal so. Es gibt
vier ausschlaggebende Begriffe und das sind folgende: Das Objekt, die Klasse, die
Methode und die Eigenschaft.
Objekt:
Ein Objekt, es sollte einem eigentlich sofort klar sein was das ist. Ich nenne
euch hier ein ganz banales Beispiel. Ihr seit eine Person, und zu dieser Zeit
esst ihr Gummibärchen. Das Objekt seit ihr, und die Packung Gummibärchen.
Klasse:
Für die Klasse hatte ich auch nicht wirklich eine Idee wie ich sie euch
beschreiben soll, von daher mach ich das Genau so wie ich es auch Gelernt
habe. "Sie sind eine Art von Entwurfsmuster oder Bauplan, nach denen das Objekt aufgebaut ist".
Durch Klassen werden also Objekte erzeugt. Das heißt wenn wir einen "Felix"
erzeugen möchten benötigen wir erstmal eine Klasse für meine Eltern und
dessen Akt sie vollzogen haben um mich zu zeigen *hust* ;)
Methode:
Die Methode schon selbst erklärt, das was die Objekte machen können. Wenn
man zum Beispiel die Eigenschaft eines Objektes modifizieren möchte, so
ist eine Methode notwendig.
Die Eigenschaft:
Die Eigenschaft, oder auch Instansvariable genannt. Nehmen wir mal mein oben
genanntes Beispiel. Nehmen wir an ihr seit ein Junger Mann der
eine Packung Gummibärchen essen will. Nun kommt eure Schwester hinzu
und möchte ebenfalls welche haben. Der Unterschied zwischen dir und
deiner Schwester ist ganz klar - du bist ein Junge sie ist ein
Mädchen. Oder umgekehrt, wie ihr wollt.
1. Kapselung.
Wie in meinem oben genannten Zitat werden Inerhalb von Klassen Einheiten
und Methoden zu einer Einheit gebildet. Dies wird Kapseulung genannt
und ist wohl das A und O der Objekt Orientierten Programmierung.
Um euch die Sache einfacher zu gestalten werde ich hier konsequent ein
Beispiel verwenden, und das ist die mit den Gummibärchen etc. ;)
Als erstes erzeugen wir einen "Entwurd" Mensch, also euch und später
die böhse Schwester die euch die Süßigkeiten abziehen möchte. das Zauberwort
hier heißt "class".
Nun haben wir eine Klasse erzeugt. Nun werden wir uns der Eigenschaft widmen.
Nun gut, wir haben dich und deine Schwester, also brauchen wir die Eigenschaft
"Geschlecht" und "Name". Diese Eigenschaften deklarieren wir mit "var".
Da wir dies auch geschafft haben werde ich euch hier die Methode vorstellen. Im
Grund genommen sind Methoden nichts weiter als einfache Funktionen. Sie sehen
genauso aus und funktionieren prinzipiell genauso.
Alles anzeigen
Wie ihr seht verwende ich hier die Variable $this. Ihr werdet euch sicher wundern
was sie ist und was sie zu bedeuten hat, da ich sie ja nirgents zuvor deklariert
habe. Nun $this ist eine so genannte Pseudovariable. Mit dieser Pseudovariable
kann ein Objekt auf seine eigenen Variablen und Funktionen ( Eigenschaften und
Methoden ) zugreifen.
Nun sind wir soweit die Objekte zu erzeugen. Dies tun wir mir "new". Natürlich
werden wir das Objekt nicht in seiner eigenen Klasse definieren.
Nun habeb wir das Objekt Felix erzeugt. Ich habe hinter das Männlich nochmal ein
Ausrufezeichen platziert damit das meine überaus tolle Männlichkeit nocheinmal
unterstreicht =D. So weit, so gut. Aber wir müssen natürlich noch eure Schwester
(er)zeugen. Dies tun wir genauso wie im obigen Beispiel, nur das das Geschlecht
eben Weiblich, und der Name eben "Lolita" sein wird.
So, an dieser Stelle möchte ich betonen das hier wohl der erste Teil meinese
Tutorials vorbei ist. Ich denke für heute hab ich wirklich genug geschrieben,
hauptsächlich weil ich finde das die PHP eine reine Geisterstadt ist und ich
einfach mal wieder etwas posten wollte um etwas Leben in die ganze Sache zu
bringen. Zu guter letzt bleibt noch eins zu sagen. Ihr könnt euch das ganze
Natürlich auch per Echo ausgeben.
Alles anzeigen
Ich weiß das der großteil noch unbehandelt ist, gegebenenfalls werde ich aus
langeweile dieses Tutorial noch fortführen und die einzelnen Dinge noch
etwas näher beschreiben. Für den Anfang sollte dies allerdings reichen.
In diesem Tutorial will ich euch einen kleinen Einblick in die
Objekt Orientierte Programmierung in PHP verschaffen. Ich werde hier
hauptsächlich nur die Grundlagen beschreiben, da wenn ich hier jede
einzelheit abarbeiten würde ein ganzes Buch mit stumpfen Theorie
Kram füllen könnte.
Zunächst stellt sich sicher die Frage warum man eine zu Anfangs
solch verwirrende Technick lernen sollte wo sie doch nicht zwingend
notwendig ist. Die Antwort ist in meinen Augen so einfach wie Genial,
wenn man es erstmal versteht kann man sich dadurch Berge von Programmier -
und Freizeit ersparen. Die Vorteile der OOP liegen ganz klar darin das
man ihre innere Logik nicht wirklich kennen muss um sie verwenden zu
können hinzu. Es gibt natürlich noch viel mehr Vorteile, aber für den
passendesten ist mir einfach nichts in eigenen Worten eingefallen,
deshalb zitiere ich an dieser Stelle einfach mal einen Satz aus dem
Artikel mit dem ich meinen Einstieg in die OOP gewagt habe.
"Sie ermöglicht es, immer wiederkehrende Aufgaben in so genannten Klassen zu bündeln."
Wenn man ein absoluter Anfänger ist sollte man an dieser Stelle wohl
das lesen aufhören, es gibt zwar Leute die sagen das besonders Anfänger
die OOP leicht lernen aber deren Meinung Teile ich keinesfalls. Ich selbst
gebe mich nun seit einer geraumen Zeit damit ab und habe trotzdem noch an
der ein oder anderen Stelle Probleme damit. Obwohl die Vorteile der OOP klar sind,
empfehle ich euch allerdings sie nicht an jeder Ecke zu verwenden.
Ganz ehrlich ich musste lange grübeln um ein passendes Beispiel zu finden wie
ich euch das ganze erklären kann. Gut, ich versuche es einfach mal so. Es gibt
vier ausschlaggebende Begriffe und das sind folgende: Das Objekt, die Klasse, die
Methode und die Eigenschaft.
Objekt:
Ein Objekt, es sollte einem eigentlich sofort klar sein was das ist. Ich nenne
euch hier ein ganz banales Beispiel. Ihr seit eine Person, und zu dieser Zeit
esst ihr Gummibärchen. Das Objekt seit ihr, und die Packung Gummibärchen.
Klasse:
Für die Klasse hatte ich auch nicht wirklich eine Idee wie ich sie euch
beschreiben soll, von daher mach ich das Genau so wie ich es auch Gelernt
habe. "Sie sind eine Art von Entwurfsmuster oder Bauplan, nach denen das Objekt aufgebaut ist".
Durch Klassen werden also Objekte erzeugt. Das heißt wenn wir einen "Felix"
erzeugen möchten benötigen wir erstmal eine Klasse für meine Eltern und
dessen Akt sie vollzogen haben um mich zu zeigen *hust* ;)
Methode:
Die Methode schon selbst erklärt, das was die Objekte machen können. Wenn
man zum Beispiel die Eigenschaft eines Objektes modifizieren möchte, so
ist eine Methode notwendig.
Die Eigenschaft:
Die Eigenschaft, oder auch Instansvariable genannt. Nehmen wir mal mein oben
genanntes Beispiel. Nehmen wir an ihr seit ein Junger Mann der
eine Packung Gummibärchen essen will. Nun kommt eure Schwester hinzu
und möchte ebenfalls welche haben. Der Unterschied zwischen dir und
deiner Schwester ist ganz klar - du bist ein Junge sie ist ein
Mädchen. Oder umgekehrt, wie ihr wollt.
1. Kapselung.
Wie in meinem oben genannten Zitat werden Inerhalb von Klassen Einheiten
und Methoden zu einer Einheit gebildet. Dies wird Kapseulung genannt
und ist wohl das A und O der Objekt Orientierten Programmierung.
Um euch die Sache einfacher zu gestalten werde ich hier konsequent ein
Beispiel verwenden, und das ist die mit den Gummibärchen etc. ;)
Als erstes erzeugen wir einen "Entwurd" Mensch, also euch und später
die böhse Schwester die euch die Süßigkeiten abziehen möchte. das Zauberwort
hier heißt "class".
Nun haben wir eine Klasse erzeugt. Nun werden wir uns der Eigenschaft widmen.
Nun gut, wir haben dich und deine Schwester, also brauchen wir die Eigenschaft
"Geschlecht" und "Name". Diese Eigenschaften deklarieren wir mit "var".
Da wir dies auch geschafft haben werde ich euch hier die Methode vorstellen. Im
Grund genommen sind Methoden nichts weiter als einfache Funktionen. Sie sehen
genauso aus und funktionieren prinzipiell genauso.
PHP-Quellcode
Wie ihr seht verwende ich hier die Variable $this. Ihr werdet euch sicher wundern
was sie ist und was sie zu bedeuten hat, da ich sie ja nirgents zuvor deklariert
habe. Nun $this ist eine so genannte Pseudovariable. Mit dieser Pseudovariable
kann ein Objekt auf seine eigenen Variablen und Funktionen ( Eigenschaften und
Methoden ) zugreifen.
Nun sind wir soweit die Objekte zu erzeugen. Dies tun wir mir "new". Natürlich
werden wir das Objekt nicht in seiner eigenen Klasse definieren.
Nun habeb wir das Objekt Felix erzeugt. Ich habe hinter das Männlich nochmal ein
Ausrufezeichen platziert damit das meine überaus tolle Männlichkeit nocheinmal
unterstreicht =D. So weit, so gut. Aber wir müssen natürlich noch eure Schwester
(er)zeugen. Dies tun wir genauso wie im obigen Beispiel, nur das das Geschlecht
eben Weiblich, und der Name eben "Lolita" sein wird.
So, an dieser Stelle möchte ich betonen das hier wohl der erste Teil meinese
Tutorials vorbei ist. Ich denke für heute hab ich wirklich genug geschrieben,
hauptsächlich weil ich finde das die PHP eine reine Geisterstadt ist und ich
einfach mal wieder etwas posten wollte um etwas Leben in die ganze Sache zu
bringen. Zu guter letzt bleibt noch eins zu sagen. Ihr könnt euch das ganze
Natürlich auch per Echo ausgeben.
PHP-Quellcode
- <?php
- $felix = new Mensch;
- $felix->name = $felix->name("Felix");
- $felix->geschlecht = $felix->gender("Männlich!");
- echo "Mein Name ist".$felix->name;
- $lolita = new Mensch;
- $lolita->name = $lolita->name("Lolita");
- $lolita->geschlecht = $lolita->gender("Weiblich");
- echo "Mein Name ist".$lolita->name;
- ?>
Ich weiß das der großteil noch unbehandelt ist, gegebenenfalls werde ich aus
langeweile dieses Tutorial noch fortführen und die einzelnen Dinge noch
etwas näher beschreiben. Für den Anfang sollte dies allerdings reichen.