当前位置:Gxlcms > PHP教程 > php中构造函数和析构函数有什么区别

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

时间:2021-07-01 10:21:17 帮助过:26人阅读

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

区别分析:

构造函数

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

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

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

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

举例

  1. <?php
  2. class BaseClass {
  3. function __construct() {
  4. print "In BaseClass constructor\n";
  5. }
  6. }
  7. class SubClass extends BaseClass {
  8. function __construct() {
  9. parent::__construct();
  10. print "In SubClass constructor\n";
  11. }
  12. }
  13. $obj = new BaseClass();
  14. $obj = new SubClass();
  15. ?>

析构函数

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

  • 析构函数不能带参数

举例:

  1. <?php
  2. class MyDestructableClass {
  3. function __construct() {
  4. print "In constructor\n";
  5. $this->name = "MyDestructableClass";
  6. }
  7. function __destruct() {
  8. print "Destroying " . $this->name . "\n";
  9. }
  10. }
  11. $obj = new MyDestructableClass();
  12. ?>

如果您想要了解更多相关知识,请访问gxlcms。

以上就是php中构造函数和析构函数有什么区别的详细内容,更多请关注gxlcms其它相关文章!

人气教程排行