国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

PHP面向對象之后期靜態綁定功-能介紹

2019-11-02 14:42:51
字體:
來源:轉載
供稿:網友

   本文將對PHP后期靜態綁定功能進行介紹,它主要用于解決在繼承范圍內引用靜態調用的類。

  首先來看下面這個例子:

   代碼如下:

  class Person

  {

  public static function status()

  {

  self::getStatus();

  }

  protected static function getStatus()

  {

  echo "Person is alive";

  }

  }

  class Deceased extends Person

  {

  protected static function getStatus()

  {

  echo "Person is deceased";

  }

  }

  Deceased::status(); //Person is alive

  很明顯,結果不是我們預期的,這是因為self::取決于定義時所在的類,而不是運行中的類。為了解決這個問題,你可能會在繼承類中重寫status()方法,更好的解決方案是PHP 5.3后添加了后期靜態綁定的功能。

  復制代碼 代碼如下:

  class Person

  {

  public static function status()

  {

  static::getStatus();

  }

  protected static function getStatus()

  {

  echo "Person is alive";

  }

  }

  class Deceased extends Person

  {

  p

帝國影視[www.aikan.tv/special/diguoyingshi/]
rotected static function getStatus()

  {

  echo "Person is deceased";

  }

  }

  Deceased::status(); //Person is deceased

  可見,static::不在指向當前所在的類,實際上,它是在運行中計算的,強制獲取最終類的所有屬性。

  因此,建議,以后不要再使用self::,使用static::

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鸡西市| 乌兰县| 天祝| 鹤庆县| 仪征市| 休宁县| 宣汉县| 鄢陵县| 万山特区| 阿鲁科尔沁旗| 佛冈县| 会同县| 隆德县| 积石山| 门头沟区| 南木林县| 秦安县| 阳山县| 虎林市| 玉门市| 和平区| 兴化市| 嘉鱼县| 东辽县| 垫江县| 淮南市| 株洲市| 延川县| 洪洞县| 安化县| 义乌市| 石门县| 庆安县| 天柱县| 孝感市| 西乌珠穆沁旗| 兰溪市| 德昌县| 通道| 高台县| 江孜县|