PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPの最終キーワード


はじめに

最終を使用する PHPクラスのインスタンスメソッドの定義にあるキーワードは、子クラスによってオーバーライドされないようにします。同様に、finalがクラス自体の定義で使用されている場合、そのようなクラスを拡張することはできません。

構文

final class myclass {}
class myclass{
   final method mymethod(){}
}

最終的な方法の例

次の例では、finalメソッドをオーバーライドしようとするとエラーが発生します

<?php
class parentclass{
   final function test(){
      echo "final method in parent class";
   }
}
class childclass extends parentclass{
   function test(){
      echo "overriding final method in parent class";
   }
}
$obj=new childclass();
$obj->test();
?>

出力

出力には次のエラーメッセージが表示されます

PHP Fatal error: Cannot override final method parentclass::test() in line 16

最終クラスの例

同様に、次の例に示すように、finalクラスを継承することはできません

<?php
final class parentclass{
   final function test(){
      echo "final method in parent class";
   }
}
class childclass extends parentclass{
   function test(){
      echo "overriding final method in parent class";
   }
}
$obj=new childclass();
$obj->test();
?>

出力

出力には次のエラーメッセージが表示されます

PHP Fatal error: Class childclass may not inherit from final class (parentclass) in line 16

  1. Javaの最終クラス

    finalとして宣言されているクラスを使用する主な目的は、クラスがサブクラス化されないようにすることです。クラスがfinalとしてマークされている場合、どのクラスもfinalクラスから機能を継承できません。 public final class Test {    // body of class }

  2. Javaの最後のキーワード

    finalは、Java要素の非アクセス修飾子です。 final修飾子は、クラス、メソッド、および変数の実装を確定するために使用されます。 最終変数 最終変数は明示的に一度だけ初期化できます。 finalとして宣言された参照変数を、別のオブジェクトを参照するように再割り当てすることはできません。 ただし、オブジェクト内のデータは変更できます。したがって、オブジェクトの状態は変更できますが、参照は変更できません。 変数の場合、定数をクラス変数にするために、最後の修飾子がstaticとともに使用されることがよくあります。 例 public class Test {    fina