久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      php類的靜態(tài)調(diào)用和實例化調(diào)用有哪些不同點?

      不同點有:1、靜態(tài)方法在程序開始時生成內(nèi)存,實例方法在程序運行中生成內(nèi)存;2、靜態(tài)方法可以直接調(diào)用,實例方法要先成生實例,通過實例調(diào)用方法;3、靜態(tài)的內(nèi)存是連續(xù)的,實例申請的是離散的空間,所以沒有靜態(tài)方法快,靜態(tài)內(nèi)存是有限制的。

      php類的靜態(tài)調(diào)用和實例化調(diào)用有哪些不同點?

      靜態(tài)方法只有一個,無論你調(diào)用多少次,都是共用的,是沒有對象的概念,因此不能在靜態(tài)方法里面使用$this調(diào)用,如果非得調(diào)用的話,只能實例化自身類

      實例化不一樣,每一個實例化是一個對象,擁有多個。

      下面用一個實例來了解一下

      <?php Error_reporting(E_ALL|E_STRICT);   class A{          public function bar(){         echo 'bar'.PHP_EOL;     }     public static function foo(){         echo 'foo'.PHP_EOL;     } }   A::bar();//會報錯 A::foo();//正確 $obj = new A(); $obj -> foo();//正確 /*    bar()是一個非靜態(tài)方法,應(yīng)該由對象來調(diào)用,但用靜態(tài)來調(diào)用此方法也可以執(zhí)行,而嚴格狀態(tài)下,此方法會執(zhí)行,同時報錯,    Strict Standards: Non-static method Human::easyeat() should not be called statically in........   但是實例化的類是可以調(diào)用靜態(tài)方法的。 */
      <?php   class A{     public $name = 'kangbazi';       public function bar(){         echo 'bar'.PHP_EOL;     }     public static function foo(){         echo self::$name.PHP_EOL;//報錯     } }   A::foo();   /*     靜態(tài)方法不能調(diào)用非靜態(tài)屬性 。不能使用self::調(diào)用非靜態(tài)屬性。 */

      做一個小總結(jié):

      最大的區(qū)別在于內(nèi)存。

      靜態(tài)方法在程序開始時生成內(nèi)存,實例方法在程序運行中生成內(nèi)存,

      所以靜態(tài)方法可以直接調(diào)用,實例方法要先成生實例,通過實例調(diào)用方法,靜態(tài)速度很快,但是多了會占內(nèi)存。

      任何語言都是對內(nèi)存和磁盤的操作,至于是否面向?qū)ο?只是軟件層的問題,底層都是一樣的,只是實現(xiàn)方法不同。

      靜態(tài)內(nèi)存是連續(xù)的,因為是在程序開始時就生成了,而實例申請的是離散的空間,所以當(dāng)然沒有靜態(tài)方法快,

      而且靜態(tài)內(nèi)存是有限制的,太多了程序會啟動不了。

      推薦教程:《php教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號