PHP 5 新增了一個 final 關鍵字。如果父類別中的方法被宣告為 final,則子類別無法覆寫該方法。如果一個類別被宣告為 final,則不能被繼承。
Example #1 Final 方法範例
class BaseClass { public function test(){ echo "BaseClass::test() called<br>"; } final public function moreTesting(){ echo "BaseClass::moreTesting() called<br>"; } } class ChildClass extends BaseClass { public function moreTesting(){ echo "BaseClass::moreTeing called<br>"; } }
Example #2 Final 類別範例
final class BaseClass{ public function test(){ echo "BaseClass::test() called\n"; } //这里无论你是否将方法声明为final,都没有关系 final public function moreTesting(){ echo "BaseClass::moreTesting() called\n"; } } class ChildClass extends BaseClass{} //产生Fatal Error:Class ChildClass may not inherit from final class (BaseClass)
Note: 屬性不能被定義為 final,只有類別和方法才能被定義為 final。