當前位置:才華齋>設計>網頁設計>

理解PHP5中static和const關鍵字的差別

網頁設計 閱讀(4.78K)

PHP5中加入了很多面向物件的思想,PHP5的面向物件比較接近Java的面向物件思想。我們這裡對PHP5中的static和const關鍵字作用進行一下描述,希望對學習PHP5的朋友有幫助。

理解PHP5中static和const關鍵字的差別

(1)static

static關鍵字在類中是,描述一個成員是靜態的,static能夠限制外部的訪問,因為static後的`成員是屬於類的,是不屬於任何物件例項,其他類是無法訪問的,只對類的例項共享,能一定程式對該成員盡心保護。類的靜態變數,非常類似全域性變數,能夠被所有類的例項共享,類的靜態方法也是一樣的,類似於全域性函式。類的靜態方法能訪問類的靜態的屬性。另外說明的是,static的成員,必須使用self來訪問,使用this會出錯。

(關於this和self的異同,請參考:)

(2)const

const是一個定義常量的關鍵字,類似於C中的#define,能夠定義一個常量,如果在程式中改變了它的值,那麼會出現錯誤。

舉例說明上面的程式碼:(注:以下程式碼來自)

複製程式碼 程式碼如下:

<?php

classCounter

{

privatestatic$count=0;//定義一個靜態屬性

constVERSION=2.0;//定義一個常量

//建構函式

function__construct()

{

self::$count++;

}

//解構函式

function__destruct()

{

self::$count--;

}

//定義一個靜態的方法

staticfunctiongetCount()

{

returnself::$count;

}

}

//建立一個例項

$c=newCounter();

//執行列印

print(Counter::getCount()."

n");//使用直接輸入類名來訪問靜態方法Counter::getCount

//列印類的版本

print("Versionuseed:"ter::VERSION."

n");

?>

恩,基本到這裡,心裡知道的那點東西就講清楚了,不過我覺得自己對static還有點不理解,請高手指點!