PHP und OOP – Klassen und Objekte mit PHP

PHP - Objektorientierte ProgrammierungDas Grundverständnis, und die Besonderheiten sind im ersten Teil klar geworden. Im zweiten Teil wollen wir uns der Praxis widmen, und die ersten eigenen Klassen schreiben.

Nachdem die Objektorientierte Programmierung in seinen Grundsätzen
erklärt ist, können wir uns den ersten Klassen und Programmen
widmen, die diese Grundsätze ein wenig verwirklichen.

Eine Klasse wird in PHP mit dem Wort class eingeleitet,
danach folgt der Name der Klasse.

Ein Beispiel:

<?php
class hallo

{ // Klasse beginnt

var $name;

function say_hello()
{
echo "Hallo $this->name";
}

} // Klasse endet


$say = new hallo;

$say->name = "Thiemo";
$say->say_hello();

?>

Das Ergebnis dieses Beispiels ist die Ausgabe "Hallo Thiemo".

OK sagen Sie, das hätte ich auch mit einem viel einfacheren
Skript machen können?
Das ist klar, es ist nur ein Beispiel, für die Arbeit einer
Klasse.
Klassen bestehen aus vielen Methoden, Methoden sind wie im
"normalen" PHP, Funktionen.
Ein Objekt einer Klasse kann viele Eigenschaften haben, wie
die Augenfarbe eines Menschen, eine Eigenschaft von diesem ist.
Das Beispiel hat die Eigenschaft $name, welche in einer gewöhnlichen
Variablen gespeichert wird.
Hierbei ist zu beachten, das diese Eigenschaften oder Variablen
mit einem "var" definiert werden müssen. Bei
der normalen PHP-Programmierung ist fest definiert, welchen Wert
eine Variable hat. Hier ist aber leicht zu erkennen, das die Eigenschaft
jeden Wert annehmen kann, der ihr als Eigenschaft eines
Objektes zugewiesen wird.

Die gesamte Klasse besteht aus einer Methode, "say_hello()".

Die Methode "say_hello()" hat die Aufgabe, den Wert der
Eigenschaft $name wieder auszugeben. Das geschieht über den
echo-Befehl. Da PHP nicht "weiß", welchen Wert die
Eigenschaft hat (sie ist innerhalb der Klasse nicht definiert),
muss darauf hingewiesen werden, das geschieht mit dem $this->
vor dem Namen der Eigenschaft.
Dieses $this-> spricht den Wert der Eigenschaft an, welcher ihr
nach dem Ableiten des Objektes zugewiesen wurde.

Eine neues Objekt, mit dem Bauplan dieser Klasse wird über
$say= new hallo; abgeleitet. Dies geschieht mit dem Befehl

$objekt = new klasse;
Das new steht für neu, und klasse eben für den
Namen der Klasse.

Zurück zu unserem Beispiel. Das Objekt wird jetzt mit $objekt
bzw. $say angesprochen. Es kann über diesen Namen mit der Klasse
"kommunizieren" und dadurch sich selbst neue Eigenschaften
zuweisen.
Eben dieses zuweisen einer neuen Eigenschaft geschieht in der nächsten
Zeile.

$say->name = "Thiemo";

Es wird die Eigenschaft "name" des Objektes $say angesprochen.
Dieser Eigenschaft wird hier der Wert "Thiemo" zugewiesen.
Das Objekt hat jetzt eine definierte Eigenschaft "name",
welche durch die Funktion "say_hello()" ausgegeben wird.
Diese Funktion muss man aber wiederum direkt über das Objekt
$say aufrufen, und ihr sozusagen "erlauben" die Methoden
auszuführen.

Im dritten Teil wird ein komplexeres Beispiel, nämlich eine
Datenbankklasse programmiert.

(tf)

This entry was posted in PHP. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *