理解PHP5中static和const關(guān)鍵字
PHP5中加入了很多面向?qū)ο蟮乃枷?PHP5的面向?qū)ο蟊容^接近Java的面向?qū)ο笏枷搿N覀冞@里對PHP5中的static和const關(guān)鍵字作用進行一下描述,希望對學(xué)習(xí)PHP5的朋友有幫助。
(1) staticstatic關(guān)鍵字在類中是,描述一個成員是靜態(tài)的,static能夠限制外部的訪問,因為static后的成員是屬于類的,是不屬于任何對象實例,其他類是無法訪問的,只對類的實例共享,能一定程序?qū)υ摮蓡T盡心保護。類的靜態(tài)變量,非常類似全局變量,能夠被所有類的實例共享,類的靜態(tài)方法也是一樣的,類似于全局函數(shù)。類的靜態(tài)方法能訪問類的靜態(tài)的屬性。另外說明的是,static的成員,必須使用self來訪問,使用this會出錯。(關(guān)于this和self的異同,請參考: http://blog.csdn.net/heiyeshuwu/archive/2004/11/03/165828.aspx )
(2)constconst是一個定義常量的關(guān)鍵字,類似于C中的#define,能夠定義一個常量,如果在程序中改變了它的值,那么會出現(xiàn)錯誤。
舉例說明上面的代碼:(注:以下代碼來自phpe.net)
<?php
class Counter{private static $count = 0;//定義一個靜態(tài)屬性const VERSION = 2.0;//定義一個常量
//構(gòu)造函數(shù)function __construct(){ self::$count++;}//析構(gòu)函數(shù)function __destruct(){ self::$count--;}//定義一個靜態(tài)的方法static function getCount(){ return self::$count;}}
//創(chuàng)建一個實例$c = new Counter();
//執(zhí)行打印print( Counter::getCount(). '<br>n' ); //使用直接輸入類名來訪問靜態(tài)方法Counter::getCount
//打印類的版本print( 'Version useed: ' .Counter::VERSION. '<br>n' );
?>
恩,基本到這里,心里知道的那點東西就講清楚了,不過我覺得自己對static還有點不理解,請高手指點!
我的郵箱:heiyeluren@163.com
WriteTime 2004-11-3 21:00
http://dev.csdn.net/author/heiyeshuwu/23f0d08c11bc4509b41844855d5c7063.html
