在PHP中,使用關(guān)鍵字 static 修飾成員屬性和成員方法被稱為靜態(tài)屬性和靜態(tài)方法。靜態(tài)屬性和靜態(tài)方法不需要在類被實(shí)例化的情況下可以直接使用。
靜態(tài)屬性
與普通的成員屬性不同,靜態(tài)屬性屬于類本身而不屬于類的任何實(shí)例。靜態(tài)屬性可以被看做是存儲(chǔ)在類當(dāng)中的全局變量,可以在任何地方通過類來訪問它們。
由于靜態(tài)屬性不受任何具體對(duì)象的限制,所以不需要建立類實(shí)例,而可以直接引用類中的靜態(tài)屬性,使用語法格式如下:
類名稱::$靜態(tài)屬性名稱
其中,符號(hào)”::”被稱作范圍解析操作符,它可以用于訪問靜態(tài)成員、靜態(tài)方法和常量,還可以用于覆蓋類中的成員和方法。
如果想在同一類的成員方法中訪問靜態(tài)屬性,可以通過在該靜態(tài)屬性的名稱前加上操作符”self::”來實(shí)現(xiàn)。例子如下:
class DaBing{ static $bing=0; //定義靜態(tài)屬性 bing function addOne(){ self::$bing++; //調(diào)用同一類中的靜態(tài)屬性 bing echo"\$bing的值為:".self::$bing++; } } $obj=new DaBing(); $obj->addOne();
該程序使靜態(tài)屬性的值加1,執(zhí)行結(jié)果為:1
靜態(tài)方法
在PHP中將成員方法聲明為靜態(tài),就稱其為靜態(tài)方法。由于靜態(tài)方法不受任何具體對(duì)象的限制,所以不需要建立類實(shí)例就可以直接引用類中的方法。語法格式如下:
類名稱::靜態(tài)方法名稱([參數(shù)1,參數(shù)2,……])
與調(diào)用靜態(tài)屬性相同,在類中使用操作符”self::”來表示調(diào)用同一類中的靜態(tài)方法,例子如下:
class DaBing{ static function addOne($number){ //定義靜態(tài)方法 addOne() echo"\$number+1="; echo $number+1; } static function showResult($number){ echo"\$number=".$number; echo"<br>"; self::addOne($number); //調(diào)用同一類中的靜態(tài)方法 addOne() } } $number=100; DaBing::showResult($number);
該程序執(zhí)行的結(jié)果為:
$number=100
$number+1=101
【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。