PHP5的72變:理解static和const關鍵字--第3變

PHP5中加入了很多面向對象的思想,PHP5的面向對象比較接近Java的面向對象思想。

我們這裏對PHP5中的static和const關鍵字作用進行一下描述,希望對學習PHP5的朋友有幫助。


(1) static

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

(關於this和self的異同,請參考: PHP5的72變中的第2變!)


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


舉例說明上面的代碼:

<?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" );

?>



未完待續。。。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章