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销毁资源