真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP面向?qū)ο笾衝ewself()和newstatic()的區(qū)別有哪些

這篇文章給大家分享的是有關(guān)PHP面向?qū)ο笾衝ew self( )和 new static( ) 的區(qū)別有哪些的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。

成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)玉泉,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792

首先闡明結(jié)論,在PHP中 self指向定義了當(dāng)前被調(diào)用方法的類(lèi), static指向調(diào)用當(dāng)前靜態(tài)方法的類(lèi)。

接下來(lái)通過(guò)一個(gè)例子來(lái)證明上面的結(jié)果

class A 
{
    public static $_a = 'Class A';
    public static function echoProperty()
    {
        echo self::$_a . PHP_EOL;
    }
}
class B extends A 
{
    public static $_a = 'Class B';
}
$obj = new B();
B::echoProperty();//輸出 Class A

之所以會(huì)這樣是因?yàn)槭褂胹elf:: 或者_(dá)_CLASS__對(duì)當(dāng)前類(lèi)的靜態(tài)引用,取決于定義被調(diào)用方法所在的類(lèi),將上面Class A的方法echoProperty做一下修改變成:

class A 
{
    public static $_a = 'Class A';
    public static function echoProperty()
    {
        echo static::$_a . PHP_EOL;
    }
}
//再次調(diào)用B::echoProperty將輸出   'CLASS B'

為了避免上面第一個(gè)例子中看到的子類(lèi)重寫(xiě)父類(lèi)的靜態(tài)屬性后,使用繼承來(lái)的方法仍然訪問(wèn)父類(lèi)的靜態(tài)屬性, PHP5.3增加了一個(gè)新的語(yǔ)法:后期靜態(tài)綁定(Late static binding), 使用static關(guān)鍵字替代self關(guān)鍵字,使得static指向與get_called_class()返回的相同的類(lèi),即當(dāng)前調(diào)用靜態(tài)方法的類(lèi), 該關(guān)鍵字對(duì)于靜態(tài)方法的訪問(wèn)同樣有效。

下面的例子更好的說(shuō)明了new self()和new static()之間的差異(后者使用了PHP的后期靜態(tài)綁定指向調(diào)用方法的當(dāng)前類(lèi))

class A 
{
    public static function get_self() 
    {
        return new self();
    }
    public static function get_static() 
    {
        return new static();
    }
}
class B extends A {}
echo get_class(B::get_self());  // A
echo get_class(B::get_static()); // B
echo get_class(A::get_self()); // A
echo get_class(A::get_static()); // A

感謝各位的閱讀!關(guān)于PHP面向?qū)ο笾衝ew self( )和 new static( ) 的區(qū)別有哪些就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


文章題目:PHP面向?qū)ο笾衝ewself()和newstatic()的區(qū)別有哪些
網(wǎng)站鏈接:http://weahome.cn/article/pdidhg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部