校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > PHP的new static和new self的區別與使用

PHP的new static和new self的區別與使用

熱門標簽:天潤融通外呼系統好嗎 高德地圖標注位置怎么標注 欣思維地圖標注 泊頭在哪里辦理400電話 江門回撥外呼系統 杭州語音電銷機器人 高德地圖標注店鋪收費嗎 電銷機器人沒有效果怎么樣 江西電銷機器人收費

下面我們舉個栗子:

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面向對象程序設計中的self、static、parent關鍵字用法分析
  • php面向對象程序設計中self與static的區別分析
  • PHP面向對象中new self()與 new static()的區別淺析
  • 淺談PHP中new self()和new static()的區別
  • PHP Class self 與 static 異同與使用詳解

標簽:雙鴨山 石嘴山 內江 深圳 駐馬店 大同 江門 平涼

巨人網絡通訊聲明:本文標題《PHP的new static和new self的區別與使用》,本文關鍵詞  PHP,的,new,static,和,self,區別,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP的new static和new self的區別與使用》相關的同類信息!
  • 本頁收集關于PHP的new static和new self的區別與使用的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 永康市| 锦州市| 东至县| 永川市| 清水河县| 临朐县| 扎鲁特旗| 拉萨市| 中山市| 循化| 称多县| 上虞市| 巴马| 南宁市| 孝感市| 县级市| 梧州市| 潞西市| 绩溪县| 乌鲁木齐县| 桦甸市| 霍邱县| 桦南县| 理塘县| 灯塔市| 澎湖县| 七台河市| 芜湖市| 南江县| 江油市| 南康市| 咸丰县| 广安市| 车险| 台北县| 福建省| 五常市| 芜湖市| 上虞市| 南岸区| 巴里|