1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      PHP中self關(guān)鍵字與parent、static以及this的區(qū)別-創(chuàng)新互聯(lián)

      parent

      你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事成都網(wǎng)站設(shè)計、網(wǎng)站制作、企業(yè)網(wǎng)站建設(shè)、成都手機(jī)網(wǎng)站制作、網(wǎng)頁設(shè)計、品牌網(wǎng)站建設(shè)、網(wǎng)頁制作、做網(wǎng)站、建網(wǎng)站。創(chuàng)新互聯(lián)建站擁有實力堅強(qiáng)的技術(shù)研發(fā)團(tuán)隊及素養(yǎng)的視覺設(shè)計專才。

      self 與 parent 的區(qū)分比較容易: parent 引用父類/基類被隱蓋的方法(或變量), self則引用自身方法(或變量)。例如構(gòu)造函數(shù)中調(diào)用父類構(gòu)造函數(shù):(

      class Base {
          public function __construct() {
              echo "Base contructor!", PHP_EOL;
          }
      }
      
      class Child {
          public function __construct() {
              parent::__construct();
              echo "Child contructor!", PHP_EOL;
          }
      }
      
      new Child;
      // 輸出:
      // Base contructor!
      // Child contructor!

      static

      static 常規(guī)用途是修飾函數(shù)或變量使其成為類函數(shù)和類變量,也可以修飾函數(shù)內(nèi)變量延長其生命周期至整個應(yīng)用程序的生命周期。但是其與 self 關(guān)聯(lián)上是PHP 5.3以來引入的新用途:靜態(tài)延遲綁定。

      有了 static 的靜態(tài)延遲綁定功能,可以在運(yùn)行時動態(tài)確定歸屬的類。例如:

      class Base {
          public function __construct() {
              echo "Base constructor!", PHP_EOL;
          }
      
          public static function getSelf() {
              return new self();
          }
      
          public static function getInstance() {
              return new static();
          }
      
          public function selfFoo() {
              return self::foo();
          }
      
          public function staticFoo() {
              return static::foo();
          }
      
          public function thisFoo() {
              return $this->foo();
          }
      
          public function foo() {
              echo  "Base Foo!", PHP_EOL;
          }
      }
      
      class Child extends Base {
          public function __construct() {
              echo "Child constructor!", PHP_EOL;
          }
      
          public function foo() {
              echo "Child Foo!", PHP_EOL;
          }
      }
      
      $base = Child::getSelf();
      $child = Child::getInstance();
      
      $child->selfFoo();
      $child->staticFoo();
      $child->thisFoo();

      輸出結(jié)果如下:

      PHP中self關(guān)鍵字與parent 、static以及this的區(qū)別

      在函數(shù)引用上, self 與 static 的區(qū)別是:

      對于靜態(tài)成員函數(shù), self 指向代碼當(dāng)前類, static 指向調(diào)用類;對于非靜態(tài)成員函數(shù), self 抑制多態(tài),指向當(dāng)前類的函數(shù), static 等同于 this ,動態(tài)指向調(diào)用類的函數(shù)。

      parent 、 self 、 static 三個關(guān)鍵字聯(lián)合在一起看挺有意思,分別指向父類、當(dāng)前類、子類,有點(diǎn)“過去、現(xiàn)在、未來”的味道。

      this

      self 與 this 是被討論最多,也是最容易引起誤用的組合。

      兩者的主要區(qū)別如下:

      1、this 不能用在靜態(tài)成員函數(shù)中, self 可以;

      2、對靜態(tài)成員函數(shù)/變量的訪問, 建議 用 self ,不要用 $this:: 或 $this-> 的形式;

      3、對非靜態(tài)成員變量的訪問,不能用 self ,只能用 this ;

      4、this 要在對象已經(jīng)實例化的情況下使用, self 沒有此限制;

      5、在非靜態(tài)成員函數(shù)內(nèi)使用, self 抑制多態(tài)行為,引用當(dāng)前類的函數(shù);而 this 引用調(diào)用類的重寫(override)函數(shù)(如果有的話)。

      self 的用途

      看完與上述三個關(guān)鍵字的區(qū)別, self 的用途是不是呼之即出?一句話總結(jié),那就是: self總是指向“當(dāng)前類(及類實例)”。詳細(xì)說則是:

      1、替代類名,引用當(dāng)前類的靜態(tài)成員變量和靜態(tài)函數(shù);

      2、抑制多態(tài)行為,引用當(dāng)前類的函數(shù)而非子類中覆蓋的實現(xiàn);

      以上就是關(guān)于PHP中self關(guān)鍵字的用法詳解的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司其它相關(guān)文章!

      另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


      網(wǎng)站名稱:PHP中self關(guān)鍵字與parent、static以及this的區(qū)別-創(chuàng)新互聯(lián)
      URL標(biāo)題:http://www.ef60e0e.cn/article/ipcoj.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        黑龙江省| 汽车| 绥芬河市| 博野县| 慈溪市| 井冈山市| 房产| 桐城市| 肥乡县| 扎鲁特旗| 通化县| 邹城市| 肥乡县| 咸丰县| 永年县| 达拉特旗| 工布江达县| 运城市| 乌拉特后旗| 保山市| 涟水县| 莎车县| 潮安县| 江达县| 嘉黎县| 抚宁县| 徐汇区| 崇左市| 那曲县| 许昌县| 靖边县| 阿城市| 乐安县| 龙州县| 普兰县| 巴马| 莱阳市| 蓬莱市| 怀安县| 满城县| 尖扎县|