构造方法与析构方法是对象中的两个特殊方法,它们都与对象的生命周期有关。构造方法时对象创建完成后第一个被对象自动调用的方法,这是我们在对象中使用构造方法的原因。而析构方法时对象在销毁之前最后一个被对象自动调用的方法,这也是我们在对象中使用析构方法的原因。所以通常使用构造方法完成一些对象的初始化工作,使用析构方法完成一些对象在销毁前的清理工作。
构造方法:
①一个类只能有一个构造方法!
②构造方法没有返回值。
③构造方法的作用是对新对象的初始化,但并不能创造对象本来、在创建构造方法后,系统将自动调用构造方法!

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学习教程 发表

最新文章

  1. CICS的几个常用命令
  2. 教你如何塑造JavaScript牛逼形象
  3. GDB配置与.gdbinit的编写
  4. Android开发学习清单
  5. 解决windows系统80端口被占用问题(转)
  6. Prefab强制使用文本模式
  7. timestamp的两个属性:CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP
  8. 多个线程访问url
  9. du与df为什么有时候会有差异
  10. [python学习笔记] py2exe 打包
  11. linkin大话面向对象--包装类
  12. 菜鸟的it之路-起航
  13. git使用之错误分析及解决(持续更新)
  14. 对称与非对称加密;SSL;HTTPS;AJP
  15. 第三篇-Django建立数据库各表之间的联系(下)
  16. Docker学习笔记之Docker的Build 原理
  17. gcc/g++ 使用 tricks
  18. hexo搭建
  19. 【Linux】使用 telnet 提示 Escape character is &#39;^]&#39;的意义
  20. django admin 使用

热门文章

  1. NSSet和NSMutableSet 确保数据的唯一性--备
  2. Excel表无法正常打开
  3. 用Doxygen生成文档
  4. linux教程之四
  5. rsyslog 日志服务器接收日志权限问题
  6. chrome浏览器测试js函数
  7. CH Round #54 - Streaming #5 (NOIP模拟赛Day1)
  8. office web apps server 问题和解决办法
  9. [转]10款 Web 开发常备工具
  10. tomcat主目录