|
(1) static
static關鍵字在類中是,描述一個成員是靜態的,static能夠限制外部的訪問,因為static后的成員是屬于類的,是不屬于任何對象實例,其他類是無法訪問的,只對類的實例共享,能一定程序對該成員盡心保護。類的靜態變量,非常類似全局變量,能夠被所有類的實例共享,類的靜態方法也是一樣的,類似于全局函數。類的靜態方法能訪問類的靜態的屬性。另外說明的是,static的成員,必須使用self來訪問,使用this會出錯。
(關于this和self的異同,請參考: http://blog.csdn.NET/heiyeshuwu/archive/2004/11/03/165828.ASPx )
(2)const
const是一個定義常量的關鍵字,類似于C中的#define,能夠定義一個常量,如果在程序中改變了它的值,那么會出現錯誤。
舉例說明上面的代碼:(注:以下代碼來自phpe.NET)
復制代碼 代碼如下:
<?php
class Counter
{
private static $count = 0;//定義一個靜態屬性
const VERSION = 2.0;//定義一個常量
//構造函數
function __construct()
{
self::$count++;
}
//析構函數
function __destruct()
{
self::$count--;
}
//定義一個靜態的方法
static function getCount()
{
return self::$count;
}
}
//創建一個實例
$c = new Counter();
//執行打印
print( Counter::getCount(). "<br>n" ); //使用直接輸入類名來訪問靜態方法Counter::getCount
//打印類的版本
print( "Version useed: " .Counter::VERSION. "<br>n" );
?>
恩,基本到這里,心里知道的那點東西就講清楚了,不過我覺得自己對static還有點不理解,請高手指點!
php技術:理解PHP5中static和const關鍵字的區別,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。