程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP中的final

PHP中的final

編輯:PHP綜合

final的中文意思是“最後的,最終的”,可以修飾類或者方法。

1)不希望父類的某個方法被子類重載(override)時,可以用final關鍵字修飾

2)不希望類被繼承時,可以用final修飾

格式:

final class 類名{

}

class 類名{

final 修飾符 function 函數名(參數列表){}

}

1、如果希望某個類不被其它的類來繼承,可以使用final

例:

<?php
final class A{
}
class B extends A{ //將會報錯
}
echo "ok";
?>

2、如果希望某個方法不被任何子類重寫,比如計算個人所得稅的方法,可以使用final來修飾該方法。

<?php
class A{
final public function getRate($salary){
return $salary*0.08;
}
}
class B extends A{
public function getRate($salary){
return $salary*0.01;
}
}
$b=new B();
echo $b->getRate(2000); //運行時會報錯,因為父類A中的getRate()使用final修飾,無法在子類中重寫
?>

3、被final修飾的方法,可以被子類繼承,但無法被子類重寫

例:

<?php
class A{
final public function getRate($salary){
return $salary*0.08;
}
}
class B extends A{
/*public function getRate($salary){
return $salary*0.01;
}*/
}
$b=new B();
echo $b->getRate(2000); //輸出 160
?>

4、final關鍵字不能修飾屬性(變量)

URL: http://www.bianceng.cn/webkf/PHP/201612/50493.htm

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved