美文网首页
PHP对象的构造函数and析构函数

PHP对象的构造函数and析构函数

作者: 敬业福 | 来源:发表于2016-03-22 21:11 被阅读88次

构造函数

PHP5可以在类中使用__construct()定义一个构造函数,具有构造函数的类,会在每次对象创建的时候调用该函数,因此常用来在对象创建的时候进行一些初始化工作。

class Car { 
       function __construct() {
             print "构造函数被调用\n"; 
       }
}
$car = new Car(); //实例化的时候 会自动调用构造函数__construct,这里会输出一个字符串

在子类中如果定义了__construct则不会调用父类的__construct,如果需要同时调用父类的构造函数,需要使用parent::__construct()显式的调用。

class Car {
   function __construct() {
       print "父类构造函数被调用\n";
   }
}
class Truck extends Car {
   function __construct() {
       print "子类构造函数被调用\n";
       parent::__construct();
   }
}
$car = new Truck();


析构函数

PHP5支持析构函数,使用__destruct()进行定义,析构函数指的是当某个对象的所有引用被删除,或者对象被显式的销毁时会执行的函数。

class Car {
   function __construct() {
     print "构造函数被调用 \n"; 
   }
   function __destruct() { 
    print "析构函数被调用 \n"; 
    }
}
$car = new Car(); //实例化时会调用构造函数
echo '使用后,准备销毁car对象 \n';
unset($car); //销毁时会调用析构函数

当PHP代码执行完毕以后,会自动回收与销毁对象,因此一般情况下不需要显式的去销毁对象。

相关文章

  • face 10面向对象

    面向对象 请写出php的构造函数和析构函数 __construct() __destruct() 着重记忆php面...

  • 九月十六

    PHP类和对象之构造函数和析构函数 PHP5可以在类中使用__construct()定义一个构造函数,具有构造函数...

  • [C++之旅] 13 析构函数

    [C++之旅] 13 析构函数 析构函数与构造函数相反,构造函数在实例化一个对象时调用,而析构函数在销毁一个对象时...

  • C++基础-构造函数和拷贝函数

    构造函数 析构函数 析构函数: 相当于临终遗言,对象被回收的时候会被调用。如果有在对象内部开辟堆内存,在析构函数里...

  • C/C++基础(6)

    类 类的基本定义 拷贝构造函数 构造函数和析构函数 析构函数最常用于内存对象的回收,回收专门在对象内部分配的额外空...

  • C++ 类和对象(三)(6)

    1. 多个对象的构造函数和析构函数 1.如果类存在成员对象,那么先调用成员对象的构造函数,再调用本身的构造函数,析...

  • Swift中的deinit方法

    deinit属于析构函数 析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的...

  • Python:重载构造方法

    对于使用过C++的人来说,构造函数与析构函数不会陌生。构造函数在对象创建时被调用,析构函数在对象被销毁时被调用。而...

  • 对象特性

    构造函数和析构函数 构造函数:创建对象时为对象的成员属性赋值 没有返回值也不写void 可以有参数,可以重载 析构...

  • 简介python中的析构函数与构造函数

    python的构造和析构函数为固定的名字。 构造函数 析构函数 不像c++中那样构造函数和析构函数是类名字。并且在...

网友评论

      本文标题:PHP对象的构造函数and析构函数

      本文链接:https://www.haomeiwen.com/subject/najllttx.html