中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

PHP的new static和new self是什么

發布時間:2020-11-06 14:08:53 來源:億速云 閱讀:158 作者:小新 欄目:編程語言

PHP的new static和new self是什么?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

下面我們舉個栗子:

class Father {
    public static function getSelf() {
        return new self();
    }
    public static function getStatic() {
        return new static();
    }
}
class Son extends Father {}
echo get_class(Son::getSelf()); // Father
echo get_class(Son::getStatic()); // Son
echo get_class(Father::getSelf()); // Father
echo get_class(Father::getStatic()); // Father

new self

這里面注意這一行 get_class(Son::getStatic()); 返回的是 Son 這個 class, 可以總結如下:

self 返回的是 new self 中關鍵字 new 所在的類中,比如這里例子的 :

public static function getSelf() {
    return new self(); // new 關鍵字在 Father 這里
}

始終返回 Father。

new static

static 則上面的基礎上,更聰明一點點:static 會返回執行 new static() 的類,比如 Son 執行 get_class(Son::getStatic()) 返回的是 Son, Father 執行 get_class(Father::getStatic()) 返回的是 Father

而在沒有繼承的情況下,可以認為 new self 和 new static 是返回相同的結果。

感謝各位的閱讀!看完上述內容,你們對PHP的new static和new self是什么大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

慈溪市| 同德县| 前郭尔| 长垣县| 涟源市| 东乌珠穆沁旗| 尼玛县| 恩平市| 吉林省| 鸡泽县| 周宁县| 岚皋县| 民和| 石城县| 疏勒县| 万年县| 安龙县| 屏东县| 广西| 文安县| 阿拉善盟| 西藏| 商洛市| 阿坝县| 马尔康县| 南陵县| 民丰县| 迭部县| 广饶县| 乌兰浩特市| 曲靖市| 洛阳市| 达拉特旗| 万山特区| 郯城县| 玉龙| 始兴县| 辽源市| 巴东县| 青海省| 社会|