2010年4月5日 星期一

【PHP】類別靜態 Static 呼叫和Static 修飾子

類別靜態 Static 呼叫和Static 修飾子

作者看過許多的書,書都將Static放到後面來說,不過這個東西在物件觀念中很容易被弄混;所以我們會先花一些時間把 Static 弄清楚;如果看不懂的不用急著弄懂,但是這個會有助於了解物件導向設計的第一節所說的概念。
Static 靜態
Static 是一個修飾子,主要的功用是用來指定變數或函數的類別化。 在物件導向的類別中所含有的二個部份都阿以被類別化。簡單的例子來說,就是當程式被執行的時候,php會將被Static 化的變數和函數存成一個獨立的方法或變數,這個時候你就可以直接使用這一個類變變數和類別函數。

所以你就可以知道類別的變數和實體變數 是不同的東西,不過PHP好像為了讓使用者更方便的重覆使用。預設的函數好像都會被定義成Static ,所以你就可以自由的叫用,無論你是不是設定成Static  ( 在Java程式設計中 只有設定為Static的函數才可以叫用),不過變數控制就和Java一樣會被鎖定只能使用Static的方式來呼叫。


 靜態呼叫
PHP CODE:
 
 
class 車子 
{
   
//類別變數
    
public static $車型="Mazda! "
;
  
   
//類別函數
    
public function  車單($車型
){
      
//引數 $車 型 function 變數和上面的變數無關
        
echo $車型
;
    }
  
 }
 
//用類別方法(靜態呼叫變 數)
 
echo 車子::$車型
;

 
//用類別方法(靜態呼叫函 數)
 //Java不能這樣用
 
車子::車單("Honda! "
);

 
//先產生一台車子
 
$車子 = new 車子
;

 
//輸出車子裡面的 車 型 實體化變數
 
echo  $車子->車型
;
 
//Notthing 什麼 也沒有(進入overloading)

 //使用車子裡面的函數
 
$車子->車單("Toyota! "
);
 
?>
結 果: http://www.php5.idv.tw/php5-article/ch4/ch4-01/static.php
程 式碼: http://www.php5.idv.tw/php5-article/ch4/ch4-01/static.phps
所 以視覺化的結果:

PHP Static

沒有留言:

張貼留言