php面向对象的构造方法与析构方法

Posted 瑛雄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php面向对象的构造方法与析构方法相关的知识,希望对你有一定的参考价值。

构造方法与析构方法是对象中的两个特殊方法,即对象的生命周期。

构造方法:对象创建完成后第一个被对象自动调用的方法。

析构方法:对象在销毁之前最后一个被对象自动调用的方法。

所以通常使用构造方法完成对象的初始化工作,使用析构方法完成对象在销毁前的清理工作。

构造方法:

①一个类只能有一个构造方法!

②构造方法没有返回值!

③构造方法的作用是初始化新对象,在创建构造方法后,系统将自动调用!

技术图片
class person{  
  public $name;  
  public $age;  
  //构造方法1 (php4、php5)  
  public function __construct($name,$age){  
    $this->age=$age;  
    $this->name=$name;  
  }  
  //构造方法2:(php4)  
  public function person($name,$age){
     $this->age=$age;  
    $this->name=$name;
  } 
}  
//两种构造方法同时存在时,优先输出方法1; 
$po=new person("aaa",20);  
echo $po->name.$po->age;  
技术图片

析构方法:

析构方法是用来释放资源:如释放数据库的链接,或图片链接或销毁某个对象等等,主要特点如下:

①系统自动调用。

②主要用于释放资源。

③析构函数调用的顺序:先进栈后出栈。

④当一个对象成为垃圾对象的时候,该析构函数会被立即调用。 所谓垃圾对象是指没有变量再引用它了,一旦一个对象成为垃圾对象,析构函数会被立即调用!

技术图片
class person{  
    public $name;  
    public $age;  
    //构造方法 (没有返回值,直接调用!)  
    public function __construct($name,$age){  
        $this->age=$age;  
        $this->name=$name;   
    }  
    //析构方法  
    public function __destruct(){  
        echo $this->name."销毁资源";  
    }  
}
   
$po1=new person("moon",20);  
$po2=new person("sky",20);

//先输出sky销毁资源,再输出moon销毁资源   

以上是关于php面向对象的构造方法与析构方法的主要内容,如果未能解决你的问题,请参考以下文章

php中的构造函数与析构函数(魔术方法)

PHP面相对象:构造方法与析构方法

面向对象中的继承封装构造与析构函数

php构造方法与析构方法

php利用php的构造函数与析构函数编写Mysql数据库查询类 (转)

构造函数与析构函数