클래스가 상속되는 것을 원하지 않으면 final을 사용하여 클래스를 수정합니다. 이 클래스는 상속되지 않습니다.
final---수업 및 메서드 이전에 사용됩니다.
최종 클래스---상속될 수 없습니다.
최종 방법---재정의할 수 없습니다.
최종 클래스는 상속될 수 없습니다.
클래스가 상속되는 것을 원하지 않으면 final을 사용하여 클래스를 수정합니다. 이 클래스는 상속되지 않습니다. 예를 들어, 우리가 설정한 Math 클래스에는 우리가 원하는 수학적 계산 방법이 포함되어 있으므로 이를 수정하거나 상속할 필요가 없습니다.
<?php //声明一个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 14
최종 메서드는 재정의할 수 없습니다
클래스의 메서드가 하위 클래스에 의해 재정의되는 것을 원하지 않으면 이 메서드를 최종 메서드로 설정할 수 있습니다. 이 메서드 앞에 최종 수정자를 추가합니다.
이 메서드가 하위 클래스에 의해 재정의되면 오류가 발생합니다.
<? //声明一个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 객체지향의 최종 클래스와 최종 메소드의 사용예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!