# 推奨: 「PHP では、クラス内のメソッドをサブクラスによってオーバーライドしたくない場合、このメソッドを Final メソッドとして設定できます。このメソッドの前に Final 修飾子を追加するだけで済みます。構文は「public Final function max($a,$b){}」などです。
PHP ビデオ チュートリアル 」#PHP オブジェクト指向の最終クラスと最終メソッド
final---クラスとメソッドの前に使用されます。
最終クラス---継承できません。
最後のメソッド---オーバーライドできません。
クラスを継承したくない場合は、final を使用してクラスを変更します。このクラスは継承されません。
たとえば、設定した Math クラスには、実行したい数学的計算メソッドが含まれています。これらのアルゴリズムを変更したり継承したりする必要はありません。これを最終的な型に設定します。
<? //声明一个final类Math final class Math { public static $pi = 3.14; public function __toString() { return "这是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 16
クラス内のメソッドがサブクラスによってオーバーライドされたくない場合は、このメソッドを最終メソッドとして設定し、最後の変更を追加するだけです。このメソッドの前にあるシンボル。
このメソッドがサブクラスによってオーバーライドされると、エラーが発生します。
<? //声明一个final类Math class Math { public static $pi = 3.14; public function __toString() { return "这是Math类。"; } public final function max($a,$b) { return $a > $b ? $a : $b ; } } //声明类SuperMath 继承自 Math类 class SuperMath extends Math { public final function max($a,$b){} } //执行会出错,final方法不能被重写。 ?>
プログラム実行結果
Fatal error: Class SuperMath may not inherit from final class (Math) in E:\PHPProjects\test.php on line 16
以上がPHPのfinalメソッドの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。