php final關鍵字的應用

2020-07-16 10:05:45
PHP 5 新增了一個 final 關鍵字。如果父類別中的方法被宣告為 final,則子類無法覆蓋該方法。如果一個類被宣告為 final,則不能被繼承。

這個關鍵字只能用來定義類和定義方法, 不能使用final這個關鍵字來定義成員屬性,因為final是常數的意思,我們在PHP裡定義常數使用的是define()函數,所以不能使用final來定義成員屬性。

使用final關鍵標記的類不能被繼承;

<?php
final class Person
{
    function say()
    {
    }
}
 
class Student extends Person
{
    function say() 
    {
    }
}
?>

會出現下面錯誤:

Fatal error: Class Student may not inherit from final class (Person)

使用final關鍵標記的方法不能被子類覆蓋,是最終版本;

<?php
class Person
{
    final function say() 
    {
    }
 
}
class Student extends Person
{
    function say() 
    {
    }
}
?>

會出現下面錯誤:

Fatal error: Cannot override final method Person::say()

以上就是php final關鍵字的應用的詳細內容,更多請關注TW511.COM其它相關文章!