
|
|
Home |
| |
|
Hier geht´s zurück zur Startseite von PHP-Crawler.de |
|
|
|
Konstruktor und Destruktor
Einblick in die Welt der Objektorientierung... |
|
Konstruktor
PHP5 bietet die Möglichkeit einen Konstruktor zu deklarieren. Dieser wird immer bei jedem neu erzeugten Objekt aufgerufen. Dies bedeutet, dass man in den Konstruktor nur Dinge schreiben sollte, die das Objekt bei jedem Aufruf benötigt, da ansonsten überflüssige Systemanforderungen aufkommen.
Möchte man als Kindklasse den Konstruktor der Vaterklasse aufrufen, so muss man parent::__construct() innerhalb der Kindklasse im Konstruktor ausführen.
Hierzu ein Beispiel:
<?php
class BaseClass {
// Konstruktor der Klasse BaseClass
function __construct() {
print "Im BaseClass Konstruktor\n";
}
}
class SubClass extends BaseClass {
// Im Kindkonstruktor wird auf den Konstruktor der Vaterklasse zugegriffen
function __construct() {
parent::__construct();
print "Im SubClass Konstruktor\n";
}
}
// Mit dem erzeugen der Objekte wird auch automatisch der Konstruktor aufgerufen
$obj = new BaseClass();
$obj = new SubClass();
?>
|
Destruktor
Das mit PHP5 eingeführte Destruktorprinzip ähnelt sehr dem anderer objektorientierter Programmiersprachen wie z.B. C++. Der Destruktor wird immer dann aufgerufen, wenn alle Referenzen zu einem Objekt wegfallen oder dieses zerstört wird.
Wie auch beim Konstruktor wird der Vaterdestruktor nicht implizit mit aufgerufen. Dies bedeutet, dass man explizit über parent::__destruct() den Vaterdestruktor im Kinddestruktor aufrufen muss.
Hierzu ebenfalls ein Beispiel:
<?php
class MyDestructableClass {
function __construct() {
print "Im Konstruktor\n";
$this->name = "MyDestructableClass";
}
function __destruct() {
print "Zerstoere " . $this->name . "\n";
}
}
$obj = new MyDestructableClass();
?>
|
|
|