日期:2014-05-16  浏览次数:20579 次

11月6日 面向对象之构造函数与析构函数

燕十八 公益PHP讲堂

论  坛: http://www.zixue.it
微  博: http://weibo.com/Yshiba
YY频道: 88354001

一、构造函数

1、构造函数格式

    class 类名{

    function __construct(参数){...}

  }

2、构造函数的功能

 只要根据此类实现的对像,都根据此构造函数自动运行,进行初始化。

3、在实例化对象时用到的参数要与构造函数引用的参数一致才可以。

二、析构函数

1、析构函数格式

  class 类名{

    function __destruct(参数){...}

  }

2、析构函数的功能

 对象销毁时,自动执行的代码。

 什么时候销毁对象呢?

(1):显式的销毁, unset ,赋值为NULL,都可以
(2):PHP是脚本语言,在代码执行到最后一行时,所有申请的内存都要释放掉.
 自然,对象的那段内存也要释放,对象就被销毁了.

三、在会员函数体内想访问会员属性,必须用$this。如果不加,则理解为方法内部的一个局部变量.

  例:

     class human{

         public $name='李三';

         public function who(){

              echo $this->name;

         }

     }

    $h = new human();

    $h->who();

燕十八 公益PHP讲堂

论  坛: http://www.zixue.it
微  博: http://weibo.com/Yshiba
YY频道: 88354001

一、构造函数

1、构造函数格式

    class 类名{

    function __construct(参数){...}

  }

2、构造函数的功能

 只要根据此类实现的对像,都根据此构造函数自动运行,进行初始化。

3、在实例化对象时用到的参数要与构造函数引用的参数一致才可以。

二、析构函数

1、析构函数格式

  class 类名{

    function __destruct(参数){...}

  }

2、析构函数的功能

 对象销毁时,自动执行的代码。

 什么时候销毁对象呢?

(1):显式的销毁, unset ,赋值为NULL,都可以
(2):PHP是脚本语言,在代码执行到最后一行时,所有申请的内存都要释放掉.
 自然,对象的那段内存也要释放,对象就被销毁了.

三、在会员函数体内想访问会员属性,必须用$this。如果不加,则理解为方法内部的一个局部变量.

  例:

     class human{

         public $name='李三';

         public function who(){

              echo $this->name;

         }

     }

    $h = new human();

    $h->who();