溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何理解PHP的構(gòu)造方法,析構(gòu)方法和this關(guān)鍵字

發(fā)布時(shí)間:2021-10-09 09:25:34 來(lái)源:億速云 閱讀:113 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容主要講解“如何理解PHP的構(gòu)造方法,析構(gòu)方法和this關(guān)鍵字”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“如何理解PHP的構(gòu)造方法,析構(gòu)方法和this關(guān)鍵字”吧!

一.什么是構(gòu)造方法
    構(gòu)造方法是類的一種特殊的方法,它的主要作用是完成對(duì)新對(duì)象初始化.
    特點(diǎn):
1.    沒(méi)有返回值.
2.    在創(chuàng)建一個(gè)新的對(duì)象時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用該類的構(gòu)造方法完成對(duì)新對(duì)角的初始化.
    語(yǔ)法:
    php5:        修飾符 function __construct()

                        {
                            //code

                        }
    php4:        修飾符 function 類名()

                        {
                            //code

                        }
注意:
   1. php5里對(duì)兩者都支持,如果兩種構(gòu)造方法同時(shí)存在的話,優(yōu)先選擇第一種.
   2. 一個(gè)類里面默認(rèn)有一個(gè)不帶參數(shù)為空的構(gòu)造方法,一旦自定義了一個(gè)構(gòu)造方法,就會(huì)覆蓋默認(rèn)的構(gòu)造方法.

      所以說(shuō)一個(gè)類有且只有一個(gè)構(gòu)造方法.
   3.一個(gè)類只能有一個(gè)構(gòu)造方法.(不能重載)
   4.構(gòu)造方法默認(rèn)的訪問(wèn)修飾符為public.
二.this關(guān)鍵字
    this代表當(dāng)前對(duì)象.可以理解為:誰(shuí)調(diào)用它,它就代表誰(shuí).
    注意事項(xiàng):
    this不在類定義的使用,只能在類定義的方法中使用.
三.實(shí)例

復(fù)制代碼 代碼如下:


<?php
    header("Conter-Type:text/html;charset=utf-8");
    class Person
    {
        public $name;  //成員變量
        public $age;

       // function __construct()
        //{
          //  echo "不帶參數(shù)的構(gòu)造方法";

        //}
        function __construct($name,$age)
        {
            $this -> name = $name;
            $this -> age = $age;
            echo "帶參數(shù)的構(gòu)造方法"."<br />";
        }
        //成員方法
        function view()
        {
            //this的引用.
            echo "姓名:".$this ->name.", 年齡:".$this ->age;

        }
    }
        //new一個(gè)新的對(duì)象
    //$p = new Person();
    $p2 = new Person("李四",13);
    $p2 ->view();
?>

結(jié)果如下:
    帶參數(shù)的構(gòu)造方法

復(fù)制代碼 代碼如下:


<SPAN  color="#ff00ff">    姓名:李四, 年齡:13</SPAN>

四:析構(gòu)方法:
    析構(gòu)方法是PHP5引入的新概念.主要作用:釋放資源(比如:釋放數(shù)據(jù)庫(kù)鏈接,圖片資源...).
    語(yǔ)法:
    function __destruct(){}
    特點(diǎn):

    1.析構(gòu)方法沒(méi)有返回值.

    2.主要作用是釋放資源.并不是銷毀對(duì)象本身.
    3.在銷毀對(duì)象前,系統(tǒng)自動(dòng)調(diào)用該類的析構(gòu)方法.

    4.一個(gè)類最多只有一個(gè)析構(gòu)方法.

五:例子:

復(fù)制代碼 代碼如下:


<?php
    header("Conter-Type:text/html;charset=utf-8");

    class Person
    {
        public $name;
        public $age;
        //構(gòu)造方法
        function __construct($name,$age)
        {
            $this ->name = $name;
            $this ->age = $age; 

        }
        //析構(gòu)方法
        function __destruct()
        {
            echo "姓名:".$this->name.", 年齡".$this->age."-->銷毀<br />";
        }

    }

    $p1= new Person("小一",18);
    $p2= new Person("小二",17);
?>

結(jié)果:
    姓名:小二, 年齡17-->銷毀
    姓名:小一, 年齡18-->銷毀

到此,相信大家對(duì)“如何理解PHP的構(gòu)造方法,析構(gòu)方法和this關(guān)鍵字”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI