作者看過許多的書,書都將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.phps
所 以視覺化的結果:
沒有留言:
張貼留言