今天就跟大家聊聊有關(guān)PHP中final關(guān)鍵字如何使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的侯馬網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
在PHP中類的繼承是使用最多的一個編程特性,我們可以創(chuàng)建一個基類(父類)然后在這其中定義一些基本的方法,在我們的子類我們可以擴(kuò)展父類中的方法這就叫覆蓋,但是如果說你在父類的某些很關(guān)鍵的方法你不能被子類繼承,因為如果子類繼承了這個方法可能給程序帶來一定的麻煩,所以我們希望這個方法是“私有”的,是不能被擴(kuò)展的,這在PHP使用了final關(guān)鍵字來修飾你要不被繼承的方法。
PHP final關(guān)鍵字可以修飾類同樣可以修改類中的方法,但它們的作用是差不多的,即如果你使用了final關(guān)鍵字來修飾了,那么這個被修飾的類或者方法將不能被擴(kuò)展或者繼承。你只能老老實實去引用它。如果你在類前面使用了final,這就是說明這個類不能使用繼承;如果你在方法前使用了PHP final關(guān)鍵字,這就是說明這個方法不能被覆蓋。道理就是這么簡單,讓我們也看個簡單的示例吧。
< ?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關(guān)鍵字來修飾我們具體的類,當(dāng)然這個類是不能按要求來輸出的,你可以自己動手調(diào)試下,基本的原理就這樣了,我們只要記住如果類或者方法使用了final那么這就意味著類不能被繼承或者子類不能覆蓋父類的方法。
看完上述內(nèi)容,你們對PHP中final關(guān)鍵字如何使用有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。