程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 深入分析PHP final關鍵字使用技巧

深入分析PHP final關鍵字使用技巧

編輯:關於PHP編程

PHP程序員們在掌握了

在PHP中類的繼承是使用最多的一個編程特性,我們可以創建一個基類(父類)然後在這其中定義一些基本的方法,在我們的子類我們可以擴展父類中的方法這就叫覆蓋,但是如果說你在父類的某些很關鍵的方法你不能被子類繼承,因為如果子類繼承了這個方法可能給程序帶來一定的麻煩,所以我們希望這個方法是“私有”的,是不能被擴展的,這在PHP使用了final關鍵字來修飾你要不被繼承的方法。

PHP final關鍵字可以修飾類同樣可以修改類中的方法,但它們的作用是差不多的,即如果你使用了final關鍵字來修飾了,那麼這個被修飾的類或者方法將不能被擴展或者繼承。你只能老老實實去引用它。如果你在類前面使用了final,這就是說明這個類不能使用繼承;如果你在方法前使用了PHP final關鍵字,這就是說明這個方法不能被覆蓋。道理就是這麼簡單,讓我們也看個簡單的示例吧。

  1. < ?PHP   
  2. final class BaseClass {   
  3. public function test() {   
  4. echo "BaseClass::test() calledn";   
  5. }   
  6. final public function moreTesting() {   
  7. echo "BaseClass::moreTesting() calledn";   
  8. }   
  9. }   
  10. class ChildClass extends BaseClass {   
  11. public function moreTesting() {   
  12. echo "ChildClass::moreTesting() calledn";   
  13. }   
  14. }   
  15. // Results in Fatal error: Cannot override final method BaseClass::moreTesting()   
  16. ?>  

這個例子中,我們在類前和方法前都加了PHP final關鍵字來修飾我們具體的類,當然這個類是不能按要求來輸出的,你可以自己動手調試下,基本的原理就這樣了,我們只要記住如果類或者方法使用了final那麼這就意味著類不能被繼承或者子類不能覆蓋父類的方法。


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