Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP 최종 키워드

<시간/>

소개

최종 사용 PHP 클래스의 인스턴스 메소드 정의에서 키워드는 자식 클래스에 의해 재정의되는 것을 방지합니다. 마찬가지로 클래스 자체의 정의에 final이 사용되면 해당 클래스를 확장할 수 없습니다.

구문

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

최종 방법 예

다음 예에서 최종 방법을 재정의하려고 시도하면 오류가 발생합니다.

예시

<?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

최종 수업 예시

마찬가지로 다음 예제와 같이 최종 클래스는 상속될 수 없습니다.

예시

<?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