首页 > 代码库 > PHP面向对象的构造方法与析构方法
PHP面向对象的构造方法与析构方法
构造方法与析构方法是对象中的两个特殊方法,它们都与对象的生命周期有关。构造方法时对象创建完成后第一个被对象自动调用的方法,这是我们在对象中使用构造方法的原因。而析构方法时对象在销毁之前最后一个被对象自动调用的方法,这也是我们在对象中使用析构方法的原因。所以通常使用构造方法完成一些对象的初始化工作,使用析构方法完成一些对象在销毁前的清理工作。
构造方法:
①一个类只能有一个构造方法!
②构造方法没有返回值。
③构造方法的作用是对新对象的初始化,但并不能创造对象本来、在创建构造方法后,系统将自动调用构造方法!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php class person{ public $name ; public $age ; //构造方法 (没有返回值,直接调用!) public function __construct( $name , $age ){ //this 是一个引用对象本身,相对于当前对象的地址! $this ->age= $age ; $this ->name= $name ; echo "这是一个构造方法 <br/>" ; } //构造方法2:(php4中方法) public function person(){ echo "OK<br/>" ; } } //两种构造方法同时存在时,优先输出方法1; $po = new person( "aaa" ,20); echo $po ->name. $po ->age; ?> |
析构方法:
析构方法主要作用是用来释放资源!如释放数据库的链接,或图片链接或销毁某个对象等等,主要特点如下:
①系统自动调用。
②主要用于释放资源
③析构函数调用的顺序,先创建的对象,先被销毁(最先创建的会被压栈)。
④当一个对象成为垃圾对象的时候,该析构函数会被立即调用。进程结束后退出! 所谓垃圾对象就是指没有任务变量再引用它了,一旦一个对象成为垃圾对象,析构函数会被立即调用!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php class person{ public $name ; public $age ; //构造方法 (没有返回值,直接调用!) public function __construct( $name , $age ){ $this ->age= $age ; $this ->name= $name ; echo "这是一个构造方法 <br/>" ; } //析构方法 public function __destruct(){ echo $this ->name. "销毁资源" ; } } //两种构造方法同时存在时,优先输出方法1; $po = new person( "aaaa" ,20); $po1 = new person( "bbbb" ,20); $po2 = new person( "cccc" ,20); ?> |
当在$po=new person(“aaaa”,20);后面增加 $po=null;
>> 本文固定链接: http://php.ncong.com/php_course/oop/duixiangfangfa.html
>> 转载请注明: 恩聪php 2014年07月23日 于 恩聪PHP学习教程 发表
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。