- 相關(guān)推薦
理解PHP5中static和const關(guān)鍵字的差別
PHP5中加入了很多面向對象的思想,PHP5的面向對象比較接近Java的面向對象思想。我們這里對PHP5中的static和const關(guān)鍵字作用進(jìn)行一下描述,希望對學(xué)習PHP5的朋友有幫助。
(1)static
static關(guān)鍵字在類(lèi)中是,描述一個(gè)成員是靜態(tài)的,static能夠限制外部的訪(fǎng)問(wèn),因為static后的成員是屬于類(lèi)的,是不屬于任何對象實(shí)例,其他類(lèi)是無(wú)法訪(fǎng)問(wèn)的,只對類(lèi)的實(shí)例共享,能一定程序對該成員盡心保護。類(lèi)的靜態(tài)變量,非常類(lèi)似全局變量,能夠被所有類(lèi)的實(shí)例共享,類(lèi)的靜態(tài)方法也是一樣的,類(lèi)似于全局函數。類(lèi)的靜態(tài)方法能訪(fǎng)問(wèn)類(lèi)的靜態(tài)的屬性。另外說(shuō)明的是,static的成員,必須使用self來(lái)訪(fǎng)問(wèn),使用this會(huì )出錯。
(關(guān)于this和self的異同,請參考:http://blog.csdn.net/heiyeshuwu/archive/2004/11/03/165828.aspx)
(2)const
const是一個(gè)定義常量的關(guān)鍵字,類(lèi)似于C中的#define,能夠定義一個(gè)常量,如果在程序中改變了它的值,那么會(huì )出現錯誤。
舉例說(shuō)明上面的代碼:(注:以下代碼來(lái)自phpe.net)
復制代碼 代碼如下:
<?php
classCounter
{
privatestatic$count=0;//定義一個(gè)靜態(tài)屬性
constVERSION=2.0;//定義一個(gè)常量
//構造函數
function__construct()
{
self::$count++;
}
//析構函數
function__destruct()
{
self::$count--;
}
//定義一個(gè)靜態(tài)的方法
staticfunctiongetCount()
{
returnself::$count;
}
}
//創(chuàng )建一個(gè)實(shí)例
$c=newCounter();
//執行打印
print(Counter::getCount()."
n");//使用直接輸入類(lèi)名來(lái)訪(fǎng)問(wèn)靜態(tài)方法Counter::getCount
//打印類(lèi)的版本
print("Versionuseed:".Counter::VERSION."
n");
?>
恩,基本到這里,心里知道的那點(diǎn)東西就講清楚了,不過(guò)我覺(jué)得自己對static還有點(diǎn)不理解,請高手指點(diǎn)!
【理解PHP5中static和const關(guān)鍵字的差別】相關(guān)文章:
JavaScript中的with關(guān)鍵字07-24
FAT和NTFS硬盤(pán)分區的差別09-16
烏龍茶和鐵觀(guān)音的差別06-24
淺談如何深入學(xué)習Javascript中的this關(guān)鍵字08-19
納斯達克和香港創(chuàng )業(yè)板與主板之間的差別12-05
對項目管理的理解和認識06-22
PHP常用的關(guān)鍵字08-18
考研英語(yǔ)閱讀理解和翻譯07-20