亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

php中的private屬性怎么直接訪問

發布時間:2020-06-28 09:40:21 來源:億速云 閱讀:133 作者:Leah 欄目:編程語言

php中的private屬性怎么直接訪問?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

在介紹關鍵部分之前,我們先回顧一下php面向對象的訪問控制。

對屬性或方法的訪問控制,是通過在前面添加關鍵字 public(公有),protected(受保護)或 private(私有)來實現的。被定義為公有的類成員可以在任何地方被訪問。被定義為受保護的類成員則可以被其自身以及其子類和父類訪問。被定義為私有的類成員則只能被其定義所在的類訪問。

類屬性必須定義為公有,受保護,私有之一。如果用 var 定義,則被視為公有。

請看下面示例代碼(來自官方文檔 http://php.net/manual/en/lang...:

<?php
/**
 * Define MyClass
 */
class MyClass
{
    public $public = 'Public';
    protected $protected = 'Protected';
    private $private = 'Private';
    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}
$obj = new MyClass();
echo $obj->public; // Works
echo $obj->protected; // Fatal Error
echo $obj->private; // Fatal Error
$obj->printHello(); // Shows Public, Protected and Private

如上面代碼所示,我們用一個類的實例對象訪問一個類的私有或者受保護的成員屬性時,會拋出一個致命錯誤。

下面是文章標題要做的事情,訪問php實例對象的私有屬性。

按照我們正常的做法,一般都會是寫一個public的方法,再返回這個屬性。

public function getPrivate()
{
    return $this->private;
}

事實是我們本就應該這樣做。

下面說是只是特殊場景下的使用方法,平時寫代碼希望大家不要亂來。

<?php
class A {
    private $a = 'self';
    public function test() {
        $other = new self();
        $other->a = 'other';
        var_dump($other->a);
    }
}
$aa = new A();
$aa->test();

如上代碼所示,我們new了一個新的A對象出來,再給這個實例的私有屬性a賦值,竟然沒有報錯!

解釋:因為同一個類的對象即使不是同一個實例也可以互相訪問對方的私有與受保護成員。這是由于在這些對象的內部具體實現的細節都是已知的。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桦南县| 祥云县| 井冈山市| 图们市| 福州市| 珠海市| 基隆市| 靖宇县| 高淳县| 通州市| 修水县| 上虞市| 崇仁县| 农安县| 清镇市| 阿尔山市| 延边| 潮安县| 蓝田县| 阿荣旗| 大方县| 山阳县| 棋牌| 桓台县| 岚皋县| 莫力| 虹口区| 巫山县| 内江市| 赤壁市| 潮州市| 永吉县| 斗六市| 绥宁县| 龙口市| 长子县| 汽车| 临夏市| 南澳县| 闵行区| 湖南省|