最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php面向對象編程self和static的區(qū)別

 更新時間:2016年05月08日 17:37:10   投稿:hebedich  
這篇文章主要介紹了PHP中static關鍵字以及與self關鍵字的區(qū)別,本文講解了static關鍵字的定義、遲綁定(Late Static Bindings)、以及與self關鍵字的區(qū)別等內容,需要的朋友可以參考下

在php的面向對象編程中,總會遇到

class test{
 public static function test(){
  self::func();

  static::func();
 }

 public static function func(){}
}

可你知道self和static的區(qū)別么?

其實區(qū)別很簡單,只需要寫幾個demo就能懂:

Demo for self:

class Car
{
 public static function model(){
  self::getModel();
 }

 protected static function getModel(){
  echo "This is a car model";
 }
}

Car::model();

Class Taxi extends Car
{
 protected static function getModel(){
  echo "This is a Taxi model";
 }
}

Taxi::model();
得到輸出

This is a car model
This is a car model

可以發(fā)現(xiàn),self在子類中還是會調用父類的方法

Demo for static

class Car
{
 public static function model(){
  static::getModel();
 }

 protected static function getModel(){
  echo "This is a car model";
 }
}

Car::model();

Class Taxi extends Car
{
 protected static function getModel(){
  echo "This is a Taxi model";
 }
}

Taxi::model();

得到輸出

This is a car model
This is a Taxi model

可以看到,在調用static,子類哪怕調用的是父類的方法,但是父類方法中調用的方法還會是子類的方法(好繞嘴。。)

在PHP5.3版本以前,static和self還是有一點區(qū)別,具體是什么,畢竟都是7版本的天下了。就不去了解了。

總結呢就是:self只能引用當前類中的方法,而static關鍵字允許函數(shù)能夠在運行時動態(tài)綁定類中的方法。

相關文章

最新評論

乳源| 芦山县| 宕昌县| 阜宁县| 海南省| 永修县| 夏河县| 阜新市| 婺源县| 永德县| 泰顺县| 塔城市| 沭阳县| 彭山县| 乌兰县| 含山县| 唐河县| 洛川县| 锦屏县| 新营市| 麦盖提县| 涪陵区| 清流县| 诸城市| 新邵县| 临桂县| 芦山县| 德州市| 合肥市| 托克逊县| 河西区| 绥江县| 永仁县| 伽师县| 石门县| 衢州市| 肇源县| 张北县| 盐边县| 穆棱市| 安龙县|