Rumah > pembangunan bahagian belakang > masalah PHP > php中构造函数和析构函数有什么区别

php中构造函数和析构函数有什么区别

王林
Lepaskan: 2023-03-01 18:54:01
asal
4591 orang telah melayarinya

php中构造函数和析构函数的区别是:1、构造函数可以接收参数,能够在创建对象时赋值给对象属性,析构函数不能带参数;2、创建对象时调用构造函数,析构函数是在销毁对象时自动调用的。

php中构造函数和析构函数有什么区别

区别分析:

构造函数

具有构造函数的类会在每次创建对象时先调用此方法。

void __construct ([ mixed $args [, $... ]] )
Salin selepas log masuk
  • 构造函数可以接收参数,能够在创建对象时赋值给对象属性

  • 构造函数可以调用类方法或其他函数

  • 构造函数可以调用其他类的构造函数

举例

<?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();
?>
Salin selepas log masuk

析构函数

void __destruct ( void )
Salin selepas log masuk
  • 析构函数是在销毁对象时,自动调用,不能显示的调用

  • 析构函数不能带参数

举例:

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

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

$obj = new MyDestructableClass();
?>
Salin selepas log masuk

如果您想要了解更多相关知识,请访问php中文网

Atas ialah kandungan terperinci php中构造函数和析构函数有什么区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan