php中final和static的差異:1、static是靜態變量,靜態變數只在局部函數域中存在,但當程式執行離開此作用域時,其值並不會遺失;2、final是用於函數的,屬於物件導向的用法,一旦使用,這個函數就無法更改和重載。
本文操作環境:Windows7系統、PHP7.1版,Dell G3電腦
php中final與static的差異
static是靜態變量,靜態變數僅在局部函數域中存在,但當程式執行離開此作用域時,其值並不會遺失。
例如,你可以用來計算函數呼叫的累加次數。
<?PHP function Test() { static $w3sky = 0; echo $w3sky; $w3sky++; } ?>
靜態(static)關鍵字
本頁說明了用 static 關鍵字定義靜態方法和屬性。 static 也可用於定義靜態變數以及後期靜態綁定。請參閱上述頁面以了解 static 在其中的用法。
宣告類別屬性或方法為靜態,就可以不實例化類別而直接存取。靜態屬性不能透過一個類別已實例化的物件來存取(但靜態方法可以)。
靜態方法
由於靜態方法不需要透過物件即可調用,所以偽變數 $this 在靜態方法中不可用。
用靜態方式呼叫一個非靜態方法會拋出 Error。
在 PHP 8.0.0 之前,透過靜態方式呼叫非靜態方法這種用法已經被廢棄,並且會導致一個 E_DEPRECATED 層級的警告。
fainal 是用於函數的,屬於物件導向的用法,一旦使用,這個函數就無法更改和重載了。
PHP 5 新增了一個 final 關鍵字。如果父類別中的方法被宣告為 final,則子類別無法覆寫該方法。如果一個類別被宣告為 final,則不能被繼承。
推薦學習:《PHP影片教學》
以上是php中final和static的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!