溫馨提示×

溫馨提示×

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

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

php對象的方法或?qū)傩灾甘裁匆馑?/h1>
發(fā)布時間:2022-02-15 16:13:50 來源:億速云 閱讀:142 作者:iii 欄目:編程語言

這篇文章主要介紹了php對象的方法或?qū)傩灾甘裁匆馑嫉南嚓P(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇php對象的方法或?qū)傩灾甘裁匆馑嘉恼露紩兴斋@,下面我們一起來看看吧。

在php對象中,方法是指在類結(jié)構(gòu)中創(chuàng)建的函數(shù),是實現(xiàn)類中的一個行為,是類的一部分;而屬性是指在類結(jié)構(gòu)中直接聲明的變量,對象中可以有多個屬性,每個變量都存儲對象不同的屬性信息。

php對象的方法或?qū)傩灾甘裁匆馑?></p><p>本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦</p><p>首先來簡單了解下相關(guān)概念:</p><ul class=

  • :class,是定義面向?qū)ο笾黧w最外層結(jié)構(gòu),也是用來包裹主體數(shù)據(jù)和功能(函數(shù)),類是一類具有共性事務(wù)的代表,代表的是事務(wù)的共性。

  • 對象:object,是某類事務(wù)的具體代表,也是實際數(shù)據(jù)和功能操作的具體單元,也被稱為實例(instance)。

  • 實例化:new,從一個抽象的概念得到一個符合抽象概念的具體實例過程。

  • 類成員:member,指類class結(jié)構(gòu)中的所有內(nèi)容,類成員里有三種;

  • 方法:method,本質(zhì)是在類class結(jié)構(gòu)中創(chuàng)建的函數(shù),也稱為成員方法,或者成員函數(shù)。

  • 屬性:property,本質(zhì)是在類class結(jié)構(gòu)中創(chuàng)建的變量,也稱為成員變量。

  • 下面來重點聊聊 屬性和方法 。

    成員屬性

    在類中直接聲明的變量稱為成員屬性(也可以稱為成員變量),可以在類中聲明多個變量,即對象中可以有多個成員屬性,每個變量都存儲對象不同的屬性信息。語法格式如下:

    訪問權(quán)限修飾符 屬性名稱 = 屬性值;

    成員屬性的類型可以是 PHP 中的標(biāo)量類型和復(fù)合類型,所以也可以是其他類實例化的對象,但在類中使用資源和空類型是沒有意義的。

    前面我們紹過,聲明變量時不需要任何關(guān)鍵字修飾,但是在類中聲明成員屬性時,變量前面一定要使用一個關(guān)鍵字來修飾,例如 public、private,static 等,但這些關(guān)鍵字修飾的變量都具有一定的意義。如果不需要有特定意義的修飾,可以使用“var”關(guān)鍵字,一旦成員屬性有其他的關(guān)鍵字修飾就需要去掉“var”。

    常用訪問權(quán)限修飾符及其含義如下所示:

    • public:公共的,在類的內(nèi)部、子類中或者類的外部都可以使用,不受限制;

    • protected:受保護(hù)的,在類的內(nèi)部和子類中可以使用,但不能在類的外部使用;

    • private:私有的,只能在類的內(nèi)部使用,在類的外部或子類中都無法使用。

    注意:一個類,即一對大括號之間的全部內(nèi)容都要在一段代碼中,也就是一個<?php ... ?>之間,不能分割成多塊。

    【示例】創(chuàng)建一個 Students 類并在類中聲明一些成員屬性,代碼如下所示:

    <?php
        class Students{
            var $name;
            public $age;
            private $sex;
            public static $school;
        }
    ?>

    提示:權(quán)限修飾符可以和定義靜態(tài)變量的關(guān)鍵字 static 混合在一起使用,如上面代碼中所示。

    成員方法

    在類中定義的函數(shù)被稱為成員方法。函數(shù)和成員方法唯一的區(qū)別就是,函數(shù)實現(xiàn)的是某個獨立的功能,而成員方法是實現(xiàn)類中的一個行為,是類的一部分。

    可以在類中聲明多個成員方法,成員方法的聲明和函數(shù)的聲明完全一樣,只不過在聲明成員方法時可以在function關(guān)鍵字的前面加一些訪問權(quán)限修飾符來控制訪問權(quán)限,例如 public、private、protected 等。

    另外需要注意的是,聲明的成員方法必須和類是相關(guān)的,不能是一些沒有意義的操作。例如,在聲明學(xué)生類時,如果聲明了“飛行”的成員方法,實例化出來的每個學(xué)生都可以飛了,這樣就是一個設(shè)計上的錯誤。

    【示例】在上面示例中創(chuàng)建的 Students 類中創(chuàng)建一些成員方法。

    <?php
        class Students{
            var $name;
            public $age;
            private $sex;
            public static $school;
            public function Write(){
               
            }
            protected static function Read(){
            }
            function Listen(){
               
            }
        }
    ?>

    成員方法前面的權(quán)限修飾符可以省略,省略后默認(rèn)權(quán)限為 public。在類中成員屬性和成員方法的聲明都是可選的,可以同時存在,也可以單獨存在,具體可以根據(jù)實際情況而定。

    在 PHP7 中,引入了類型聲明,我們可以為成員方法的形參和返回值聲明類型,格式如下所示:

    [權(quán)限修飾符] function 方法名 (類型 參數(shù)1, 類型 參數(shù)2, ..., 類型 參數(shù)n) : 返回值類型 {
        ... ...
    }

    PHP7 中支持聲明的參數(shù)類型包括整型、浮點型、字符串型和布爾類型。示例代碼如下所示:

    <?php
        class Students{
            var $name;
            public $age;
            private $sex;
            public static $school;
            public function Write(string $a, int $b):bool{
               
            }
            protected static function Read(string $str):int{
            }
            function Listen(int $num):bool{
            }
        }
    ?>

    實例化對象并訪問對象中的成員

    對象中包含成員屬性和成員方法,訪問對象中的成員和訪問數(shù)組中的元素類似,只能通過對象的引用來訪問對象中的成員。但還要使用一個特殊的運算符號->來完成對象成員的訪問,訪問對象中成員的語法格式如下所示:

    變量名 = new 類名(參數(shù));   //實例化一個類
    變量名 -> 成員屬性 = 值;   //為成員屬性賦值
    變量名 -> 成員屬性;           //直接獲取成員屬性的值
    變量名 -> 成員方法();        //訪問對象中的成員方法

    下面通過一個示例來演示一下:

    <?php
    header("Content-type:text/html;charset=utf-8");
    class Website{
        public $name, $url, $title;
        public function demo(){
            echo '成員方法 demo()';
        }
    }
    $student = new Website();
    $student -> name = '億速云';
    $student -> url = 'http://kemok4.com/';
    $student -> title = '實例化對象';
    echo $student -> name.'<br>';
    echo $student -> url.'<br>';
    echo $student -> title.'<br>';
    $student -> demo();
    ?>

    關(guān)于“php對象的方法或?qū)傩灾甘裁匆馑肌边@篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“php對象的方法或?qū)傩灾甘裁匆馑肌敝R都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

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

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

    php
    AI