上面说的php面向对象之构造函数,然后再说说与之相对的析构函数。
析构函数的作用和构造函数的作用正好相反,是对象被销毁时被调用,作用是释放内存。定义析构函数的格式为:__destruct(),和构造函数一样的是,前面也是两个下划线"_"。
析构函数的作用与用法
我们用个例子更加深刻了解析构函数的用法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
class Preson{ public $name; //定义变量 public $age; public $sex; public $height; function __construct($name,$age,$sex,$height){ $this->name = $name; //为变量赋值 $this->age = $age; $this->sex = $sex; $this->height = $height; } function __destruct(){ echo "对象被销毁了"; } } $Preson1 = new Preson("大白","20","女","180"); echo $Preson1->name; |
运行的结果为:
大白对象被销毁了
运行结束后,对象被销毁了。
析构函数使用注意事项:
php使用的是一种“垃圾回收”机制,自动清除不再使用的对象,释放内存,就是说即使不使用unset函数,析构方法也会自动被调用,这里只是明确一下析构函数在何时被调用。