ホームページ > バックエンド開発 > PHPチュートリアル > PHP オブジェクト指向の最終クラスと最終メソッド_PHP チュートリアル

PHP オブジェクト指向の最終クラスと最終メソッド_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:39:09
オリジナル
855 人が閲覧しました

Final---クラスとメソッドの前に使用されます。
最終クラス---継承できません。
最終メソッド---オーバーライドできません。
最終クラスは継承できません。
クラスを継承したくない場合は、final を使用してクラスを変更します。このクラスは継承されません。たとえば、設定した Math クラスには、実行したい数学的計算メソッドが含まれており、これらのアルゴリズムを最終的な型に設定する必要はありません。

コードをコピーします コードは次のとおりです:

//final class Math を宣言します
final class Math{
public static $pi = 3.14;

public function __toString() {
return " これは Math クラスです。 ";
}
}
$math = new Math();

//宣言クラス SuperMath は Math クラスから継承します
class SuperMath extends Math {
}
//実行エラーのため、最終クラスを継承できません。

?>


プログラム実行結果

コードをコピー コードは次のとおりです:
致命的なエラー: クラス SuperMath は E:PHPProjectstest.php の最終クラス (Math) から継承できません。 14行目


finalメソッドはオーバーライドできません
クラス内のメソッドがサブクラスによってオーバーライドされたくない場合は、このメソッドをfinalメソッドとして設定し、このメソッドの前にfinal修飾子を追加するだけです。

このメソッドがサブクラスによってオーバーライドされると、エラーが発生します。

コードをコピーします コードは次のとおりです:
//最終クラス Math を宣言します
class Math{
public static $pi = 3.14;
public function __toString(){
return; "これは Math クラスです。 ";
public Final function max($a,$b){
return $a > ? $a : $b ;
//SuperMath が継承する宣言クラスMath クラス
class SuperMath extends Math {
public Final function max($a,$b){}
}
//実行中にエラーが発生し、final メソッドをオーバーライドできません。

?>




プログラムの実行結果



コードをコピーします
コードは次のとおりです: 致命的なエラー: クラス SuperMath は E:PHPProjectstest の最終クラス (Math) から継承できません。 PHPの16行目
http://www.bkjia.com/PHPjc/321642.html

www.bkjia.com

http://www.bkjia.com/PHPjc/321642.html技術記事 Final---クラスとメソッドの前に使用されます。最終クラス---継承できません。最終メソッド---オーバーライドできません。最終クラスは継承できません。 クラスを継承したくない場合は、 fina を使用します...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート