程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 理解PHP5中static和const關鍵字的區別

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

編輯:關於PHP編程

PHP5中加入了很多面向對象的思想,PHP5的面向對象比較接近Java的面向對象思想。我們這裡對PHP5中的static和const關鍵字作用進行一下描述,希望對學習PHP5的朋友有幫助。
(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還有點不理解,請高手指點!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved