php中建構函式和解構函式有什麼區別

2020-07-16 10:06:27

php中建構函式和解構函式的區別是:1、建構函式可以接收引數,能夠在建立物件時賦值給物件屬性,解構函式不能帶引數;2、建立物件時呼叫建構函式,解構函式是在銷毀物件時自動呼叫的。

區別分析:

建構函式

具有建構函式的類會在每次建立物件時先呼叫此方法。

void __construct ([ mixed $args [, $... ]] )
  • 建構函式可以接收引數,能夠在建立物件時賦值給物件屬性

  • 建構函式可以呼叫類方法或其他函數

  • 建構函式可以呼叫其他類別建構函式

舉例

<?php
class BaseClass {
   function __construct() {
       print "In BaseClass constructorn";
   }
}

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

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

解構函式

void __destruct ( void )
  • 解構函式是在銷毀物件時,自動呼叫,不能顯示的呼叫

  • 解構函式不能帶引數

舉例:

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

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

$obj = new MyDestructableClass();
?>

如果您想要了解更多相關知識,請存取TW511.COM

以上就是php中建構函式和解構函式有什麼區別的詳細內容,更多請關注TW511.COM其它相關文章!