Heim >Backend-Entwicklung >PHP-Problem >Was ist der Unterschied zwischen Konstruktor und Destruktor in PHP?

Was ist der Unterschied zwischen Konstruktor und Destruktor in PHP?

王林
王林Original
2020-06-30 11:28:344564Durchsuche

Der Unterschied zwischen Konstruktoren und Destruktoren in PHP ist: 1. Der Konstruktor kann beim Erstellen eines Objekts Parameter empfangen und Objekteigenschaften zuweisen. 2. Der Konstruktor wird beim Erstellen eines Objekts aufgerufen Objekt. Funktion, der Destruktor wird automatisch aufgerufen, wenn das Objekt zerstört wird.

Was ist der Unterschied zwischen Konstruktor und Destruktor in PHP?

Differenzanalyse:

Konstruktor

Klassen mit einem Konstruktor ruft diese Methode jedes Mal auf, wenn ein Objekt erstellt wird.

void __construct ([ mixed $args [, $... ]] )
  • Der Konstruktor kann Parameter empfangen und beim Erstellen des Objekts Objekteigenschaften zuweisen

  • Konstruktor kann Klassenmethoden oder andere Funktionen aufrufen

  • Konstruktor kann Konstruktoren anderer Klassen aufrufen

Beispiel

<?php
class BaseClass {
   function __construct() {
       print "In BaseClass constructor\n";
   }
}

class SubClass extends BaseClass {
   function __construct() {
       parent::__construct();
       print "In SubClass constructor\n";
   }
}

$obj = new BaseClass();
$obj = new SubClass();
?>

Destruktor

void __destruct ( void )
  • Der Destruktor ist in Wenn ein Objekt zerstört wird, er wird automatisch aufgerufen und kann nicht explizit aufgerufen werden

  • Der Destruktor kann keine Parameter annehmen

Beispiel:

<?php
class MyDestructableClass {
   function __construct() {
       print "In constructor\n";
       $this->name = "MyDestructableClass";
   }

   function __destruct() {
       print "Destroying " . $this->name . "\n";
   }
}

$obj = new MyDestructableClass();
?>

Wenn Sie möchten Um mehr zu diesem Thema zu erfahren, besuchen Sie bitte die php-chinesische Website .

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Konstruktor und Destruktor in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was bedeutet PHP-Zweig?Nächster Artikel:Was bedeutet PHP-Zweig?