PHP 物件導向 final類與final方法

2022-10-06 14:03:36 字數 1131 閱讀 7492

final---用於類、方法前。

fintfmodpczal類---不可被繼承。

final方法---不可被覆蓋。

final類不能被繼承。

如果我們不希望乙個類被繼承,我們使用final來修飾這個類。這個類將無法被繼承。比如我們設定的math類,涉及了我們要做的數學計算方法,這些演算法也沒有必要修改,也沒有必要被繼承,我們把它設定成final型別。

複製** **如下:

//宣告乙個final類math

final class math

} $math = new math();

echo $math;

//宣告類supermath 繼承自 math類

class supermath extends math

//執行會出錯,final類不能被繼承。

?>

程式執行結果

複製** **如下:

fatal error: class supermath may not inherit from final class (math) in e:\phpprojects\test.php on line 14

final方法不能被重寫

如果不希望類中的某個方法被子類重寫,我們可以設定這個方法為final方法,只需要在這個方法前加上final修飾符。

如程式設計客棧果這個方法被子類重寫,將會出現錯誤。

複製** **如下:

//宣告乙個final類math

class math

public final function max($a,$b)

} //宣告類supermath 繼承自 math類

class supermath extends math

} //執行會出錯,final方法不能被重寫。

?>

程式執行結果

複製** **如下:

fatal error: class supermath may not inherit from final class (math) in e:\phpprojects\test.php on line 16

本文標題: php 物件導向 final類與final方法

本文位址:

PHP 物件導向 final類與final方法

如果我們不希望乙個類被繼承,我們使用final來修飾這個類。final可以用於類 方法前,則類不可以被繼承,方法不可以被過載。比如我們設定的math類,涉及了我們要做的數學計算方法,這些演算法也沒有必要修改,也沒有必要被繼承,我們把它設定成final型別。如下 宣告乙個final類math fina...

PHP 物件導向 final類與final方法

final 用於類 方法前。final類 不可被繼承。final方法 不可被覆蓋。如果我們不希望乙個類被繼承,我們使用final來修飾這個類。這個類將無法被繼承。比如我們設定的math類,涉及了我們要做的數學計算方法,這些演算法也沒有必要修改,也沒有必要被繼承,我們把它設定成final型別。1 宣告...

php物件導向程式設計 類與物件

1 類和物件的區別與聯絡 1.類是抽象的,概念的,代表一類事物,比如人類,貓類 2.物件是具體的,實際的,代表乙個具體的事物 3.類是物件的模板,物件是類的乙個個體例項 2 類與物件例項 建立乙個cat類 class cat 建立乙個物件 cat1 通過cat類建立乙個cat1物件 cat1 new...