关于析构方法
2017-08-16 19:25
225 查看
我们知道,当实例化对象的时候,__construct()方法会被自动调用,在PHP5之后还提供一个对应的方法,就是析构方法__destruct(),它只会在对象呗垃圾收集器收集之前自动调用,我们可以利用这个方法进行最后必要的清理工作
特点:
1.析构方法没有返回值.
2.主要作用是释放资源.并不是销毁对象本身.
3.在销毁对象前,系统自动调用该类的析构方法.
4.一个类最多只有一个析构方法.
<?php
header("Conter-Type:text/html;charset=utf-8");
class Person
{
public $name;
public $age;
//构造方法
function __construct($name,$age)
{
$this ->name = $name;
$this ->age = $age;
}
//析构方法
function __destruct()
{
echo "姓名:".$this->name.", 年龄".$this->age."-->销毁<br />";
}
}
$p1= new Person("小一",18);
$p2= new Person("小二",17);
?>
但是,析构方法实质上也是一个魔法方法,所以在使用的时候还是注意好使用的具体情况,不要轻易信任魔法方法
(魔术方法是PHP面向对象中特有的特性。它们在特定的情况下被触发,都是以双下划线开头,你可以把它们理解为钩子,利用模式方法可以轻松实现PHP面向对象中重载(Overloading即动态创建类属性和方法)。)
特点:
1.析构方法没有返回值.
2.主要作用是释放资源.并不是销毁对象本身.
3.在销毁对象前,系统自动调用该类的析构方法.
4.一个类最多只有一个析构方法.
<?php
header("Conter-Type:text/html;charset=utf-8");
class Person
{
public $name;
public $age;
//构造方法
function __construct($name,$age)
{
$this ->name = $name;
$this ->age = $age;
}
//析构方法
function __destruct()
{
echo "姓名:".$this->name.", 年龄".$this->age."-->销毁<br />";
}
}
$p1= new Person("小一",18);
$p2= new Person("小二",17);
?>
但是,析构方法实质上也是一个魔法方法,所以在使用的时候还是注意好使用的具体情况,不要轻易信任魔法方法
(魔术方法是PHP面向对象中特有的特性。它们在特定的情况下被触发,都是以双下划线开头,你可以把它们理解为钩子,利用模式方法可以轻松实现PHP面向对象中重载(Overloading即动态创建类属性和方法)。)
相关文章推荐
- php析构方法关于栈的问题
- 关于Java中String类的hashCode方法
- 关于建立多个SqlDataAdapter类实例的两种方法
- 关于url传参乱码的解决方法以及文件流下载遇见的问题
- 关于实现宿舍共享校园网上网的几种方法~
- 关于java中BufferedReader的read()及readLine()方法的使用注意
- 关于Jquery中ajax方法data参数用法的总结
- 关于jquery on方法进行事件绑定触发次数指数叠加的问题
- 关于RADStudio2007使用SUISKINv4.6的方法
- 关于MyEclipse的诡异现象及处理方法
- 关于scanf的几种处理方法
- 关于Keil编译错误 L6236E: No section matches selector - no section 的解决方法
- 关于用javascript改变class所用的setAttribute()方法
- 关于将表中自增长字段赋值给另外一个字段的方法
- 关于在设置启动文件夹或者设置用户选项时不能得到当前用户的解决方法
- 关于Activity、Fragment、ActivityLifecycleCallbacks、FragmentLifecycleCallbacks的生命周期方法执行顺序
- 关于mongodb按照字段模糊查询方法
- 关于自动编译iOS工程,生成app及ipa文件的方法-备
- 关于mysql登录异常处理方法 - mysql ERROR 1045 (28000)