Wenn Sie eine Funktion in einer Klasse deklarieren und sie __construct nennen, wird diese Funktion als Konstruktor behandelt und beim Erstellen einer Objektinstanz ausgeführt. Um es klarzustellen: __ ist wie jede andere Funktion auch ein Konstruktor Sie können eine Klasse definieren, um ein Objekt zu erstellen und alle seine Eigenschaften in eine Anweisung einzufügen.
Sie können auch eine Klasse mit dem Namen __destruct function definieren. PHP ruft diese Funktion auf, bevor das Objekt zerstört wird . Es wird als Destruktor bezeichnet.
Die Fortsetzung einer Klasse (Unterklasse/abgeleitete Klasse) kann alle Funktionen der Klasse (übergeordnete Klasse/Basisklasse) enthalten die Eigenschaften und Methoden der Basisklasse und können der abgeleiteten Klasse weitere Eigenschaften und Methoden hinzufügen. Sie können die Methoden und Eigenschaften der Basisklasse auch überschreiben. Wie in 3.1.2 gezeigt, können Sie eine Klasse mithilfe der Erweiterungen erweitern Schlüsselwort.
Sie fragen sich möglicherweise, wie Konstruktoren zusammen mit anderen Methoden erweitert werden.
Wenn Sie diese Funktion benötigen, müssen Sie den genannten Operator verwenden in Kapitel 2. Damit können Sie auf einen übergeordneten Namensraum verweisen, den Sie verwenden können parent::__construct Rufen Sie den Konstruktor der übergeordneten Klasse auf der Konstruktor nach der Klasse. Dies war auch in früheren PHP-Versionen der Fall, und diese Methode ist immer noch gültig. Das heißt: Wenn Sie eine Klasse mit dem Namen Animal erstellen, ist diese Methode der Konstruktor Eine Klasse hat sowohl einen __construt-Konstruktor als auch eine Funktion mit demselben Namen wie die Klasse. PHP behandelt __construct als Konstruktor. Dadurch können in früheren PHP-Versionen geschriebene Klassen weiterhin verwendet werden. Neue Skripte (PHP5) sollten jedoch __construct.
class Counter
{
private static $count = 0; eingeben
function __construct()
{
self::$count ;
}
function __destruct()
{
self::$count--;
}
function getCount()
{
return self:: $count;
}
//Erstelle die erste Instanz
$c = new Counter();
//Ausgabe 1
//Erstellen eine zweite Instanz
// Ausgabe 2
//Zerstöre die Instanz
/ /Ausgabe 1
?>
Wenn Sie eine neue Instanz erstellen, wird der Speicher für die Speicherung aller Attribute vorbereitet. Jede Instanz verfügt über einen eigenen, einzigartigen Satz von Eigenschaften. Methoden werden jedoch von allen Instanzen der Klasse gemeinsam genutzt.
Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!