久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

self關鍵字詳解(parent、static和this) - PHP

php在類中的各種關鍵字詳解

靜態成員函數內不能用this調用非成員函數,但可以用self調用靜態成員函數/變量/常量;

其他成員函數可以用self調用靜態成員函數以及非靜態成員函數。

parent

  • parent引用父類/基類被隱蓋的方法(或變量),
  • self則引用自身方法(或變量)。
<?php 

class Base {

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

// 輸出:

// Base contructor!

// Child contructor!

?>

static

static常規用途是修飾函數或變量使其成為類函數和類變量,也可以修飾函數內變量延長其生命周期至整個應用程序的生命周期。

但是其與self關聯上是PHP 5.3以來引入的新用途:靜態延遲綁定。

有了static的靜態延遲綁定功能,可以在運行時動態確定歸屬的類。

<?php 

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();


?>
  • 在函數引用上,self與static的區別是:對于靜態成員函數,self指向代碼當前類,static指向調用類;
  • 對于非靜態成員函數,self抑制多態,指向當前類的成員函數,static等同于this,動態指向調用類的函數。

parent、self、static三個關鍵字聯合在一起看挺有意思,分別指向父類、當前類、子類,有點“過去、現在、未來”的味道。

this

  • self與this是被討論最多,也是最容易引起誤用的組合。兩者的主要區別如下:
  • this不能用在靜態成員函數中,self可以;
  • 對靜態成員函數/變量的訪問,建議 用self,不要用$this::或$this->的形式;
  • 對非靜態成員變量的訪問,不能用self,只能用this;
  • this要在對象已經實例化的情況下使用,self沒有此限制;

在非靜態成員函數內使用,self抑制多態行為,引用當前類的函數;而this引用調用類的重寫(override)函數(如果有的話)。

self

  • self總是指向“當前類(及類實例)”。詳細說則是:
  • 替代類名,引用當前類的靜態成員變量和靜態函數;
  • 抑制多態行為,引用當前類的函數而非子類中覆蓋的實現;

補充

這幾個關鍵字中,只有this要加$符號且必須加,強迫癥表示很難受;

靜態成員函數中不能通過$this->調用非靜態成員函數,但是可以通過self::調用,且在調用函數中未使用$this->的情況下還能順暢運行。此行為貌似在不同PHP版本中表現不同,在當前的7.3中ok;

參考文章

給TA贊賞
共{{data.count}}人
人已贊賞
??
Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
?
購物車
優惠劵
搜索
久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

    亚洲日本电影在线| 亚洲欧美视频在线观看视频| 亚洲精品一区二区三区99| 亚洲精品国产日韩| 亚洲视频精品| 久久国产精彩视频| 男女精品视频| 国产精品久久久久av免费| 国产私拍一区| 亚洲国产精品久久| 亚洲伊人久久综合| 美脚丝袜一区二区三区在线观看| 欧美精品aa| 国产美女扒开尿口久久久| 精品成人在线观看| 一区二区av在线| 久久黄金**| 欧美日韩一级大片网址| 国产午夜精品一区理论片飘花| 伊人久久综合97精品| 在线视频精品一| 久久永久免费| 国产噜噜噜噜噜久久久久久久久| 亚洲第一精品影视| 香蕉久久a毛片| 欧美精品日日鲁夜夜添| 国产日韩精品一区| 亚洲亚洲精品在线观看 | 国产精品视频xxxx| 亚洲国产视频直播| 久久久国产午夜精品| 国产精品久久久久久久久久尿| 一区视频在线| 久久久噜久噜久久综合| 国产精品色网| 亚洲午夜三级在线| 欧美日韩国产综合久久| 在线观看av不卡| 欧美一区二区三区免费视频| 欧美三日本三级少妇三2023 | 欧美亚洲网站| 欧美揉bbbbb揉bbbbb| 亚洲日本电影在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产欧美一级| 香蕉乱码成人久久天堂爱免费 | 妖精成人www高清在线观看| 久久久久久9| 国产欧美精品在线播放| 香蕉国产精品偷在线观看不卡| 国产精品h在线观看| 99国产精品久久久| 欧美大片一区二区| 亚洲人体1000| 欧美精品v国产精品v日韩精品 | 国产亚洲精品资源在线26u| 亚洲午夜羞羞片| 国产精品区一区| 欧美一级视频精品观看| 国产欧美一区在线| 欧美一区二区啪啪| 狠狠色狠狠色综合日日tαg| 久久久久九九九| 亚洲国产精品成人精品| 欧美99在线视频观看| 亚洲国产精品久久久久婷婷884 | 久久久综合精品| 亚洲国产成人久久综合| 欧美精品综合| 亚洲欧美激情精品一区二区| 国产精品日韩一区| 久久久91精品国产| 樱桃视频在线观看一区| 欧美日本中文字幕| 亚洲欧美日本精品| 永久免费视频成人| 欧美日韩不卡合集视频| 亚洲免费视频在线观看| 狠狠爱www人成狠狠爱综合网| 美女999久久久精品视频| 99热在这里有精品免费| 国产精品一级| 欧美电影在线播放| 午夜精品久久久久| 亚洲第一中文字幕| 国产精品久久久久久久久久久久| 亚洲欧美在线一区二区| 亚洲电影下载| 国产精品一区二区在线| 欧美不卡高清| 小黄鸭精品aⅴ导航网站入口| 黄色国产精品一区二区三区| 欧美日本二区| 老司机精品导航| 国产精品99久久99久久久二8| 国内久久精品| 国产精品久久久久久久午夜 | 男女av一区三区二区色多| 国产欧美日韩亚洲精品| 久久躁狠狠躁夜夜爽| 99视频一区二区三区| 加勒比av一区二区| 欧美午夜一区二区| 欧美α欧美αv大片| 性欧美xxxx视频在线观看| 亚洲精品欧洲| ●精品国产综合乱码久久久久| 欧美视频二区36p| 免费亚洲电影| 久久久久国色av免费看影院| 99在线精品观看| 最新国产成人在线观看| 黑人巨大精品欧美一区二区小视频| 欧美午夜在线观看| 欧美另类视频| 欧美激情91| 欧美福利视频在线| 免费看的黄色欧美网站| 久久久久高清| 久久久999精品| 亚洲欧美乱综合| 亚洲午夜未删减在线观看| 一二美女精品欧洲| 亚洲美女色禁图| 亚洲福利小视频| 亚洲国产日韩欧美在线图片| 国内视频一区| 国产日韩精品综合网站| 国产欧美日韩视频| 国产精品日本一区二区| 国产精品福利网| 欧美午夜影院| 国产精品呻吟| 国内揄拍国内精品久久| 国产亚洲一区二区三区在线播放 | 亚洲精品激情| 亚洲日本电影| 一区二区欧美精品| 亚洲综合二区| 久久激情网站| 久久久久天天天天| 欧美国产大片| 欧美日韩一本到| 国产麻豆精品视频| 国产一区二区0| 狠狠网亚洲精品| 亚洲区一区二| 正在播放亚洲一区| 亚洲欧美激情诱惑| 久久久久久久久蜜桃| 麻豆成人综合网| 欧美三级第一页| 国产伦精品一区二区三区照片91| 国产乱码精品一区二区三区五月婷| 国产欧美一区二区色老头| 狠狠色综合网站久久久久久久| 在线精品亚洲| 99视频精品| 久久久国产亚洲精品| 女生裸体视频一区二区三区| 欧美女主播在线| 国产日韩在线不卡| 亚洲国产一区二区三区青草影视| 亚洲最新视频在线| 久久精品国产在热久久 | 亚洲自拍电影| 久久夜色精品国产噜噜av| 欧美日韩a区| 国产在线观看一区| 一本大道av伊人久久综合| 欧美亚洲免费电影| 欧美日韩1区| 激情偷拍久久| 一本色道久久综合亚洲精品不卡 | 在线电影国产精品| 亚洲视频综合在线| 免费在线观看一区二区| 国产精品资源在线观看| 亚洲美女色禁图| 久久蜜桃资源一区二区老牛| 欧美午夜不卡在线观看免费 | 久久久91精品国产| 欧美午夜片欧美片在线观看| 在线成人中文字幕| 亚洲欧美成人精品| 欧美日韩日本视频| 亚洲国产毛片完整版| 欧美在线观看一二区| 欧美视频在线观看视频极品| 亚洲国产视频直播| 久久午夜视频| 国产亚洲人成网站在线观看| 一区二区三区久久久| 欧美国产视频在线| 亚洲国产成人在线视频| 久久国产精品网站| 国产欧美一区二区精品婷婷 | 亚洲毛片在线| 欧美电影免费观看高清完整版| 国内久久视频|