您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關PHP中final關鍵字如何使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
在PHP中類的繼承是使用最多的一個編程特性,我們可以創建一個基類(父類)然后在這其中定義一些基本的方法,在我們的子類我們可以擴展父類中的方法這就叫覆蓋,但是如果說你在父類的某些很關鍵的方法你不能被子類繼承,因為如果子類繼承了這個方法可能給程序帶來一定的麻煩,所以我們希望這個方法是“私有”的,是不能被擴展的,這在PHP使用了final關鍵字來修飾你要不被繼承的方法。
PHP final關鍵字可以修飾類同樣可以修改類中的方法,但它們的作用是差不多的,即如果你使用了final關鍵字來修飾了,那么這個被修飾的類或者方法將不能被擴展或者繼承。你只能老老實實去引用它。如果你在類前面使用了final,這就是說明這個類不能使用繼承;如果你在方法前使用了PHP final關鍵字,這就是說明這個方法不能被覆蓋。道理就是這么簡單,讓我們也看個簡單的示例吧。
< ?PHP final class BaseClass { public function test() { echo "BaseClass::test() called\n"; } final public function moreTesting() { echo "BaseClass::moreTesting() called\n"; } } class ChildClass extends BaseClass { public function moreTesting() { echo "ChildClass::moreTesting() called\n"; } } // Results in Fatal error: Cannot override final method BaseClass::moreTesting() ?>
這個例子中,我們在類前和方法前都加了PHP final關鍵字來修飾我們具體的類,當然這個類是不能按要求來輸出的,你可以自己動手調試下,基本的原理就這樣了,我們只要記住如果類或者方法使用了final那么這就意味著類不能被繼承或者子類不能覆蓋父類的方法。
看完上述內容,你們對PHP中final關鍵字如何使用有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。