کلاس‌‌ها و اشیا (PHP 5)
PHP Manual

کلمه کلیدی Final

PHP 5 کلمه کلیدی final را معرفی نمود که با پیشوند Final کلاس‌های فرزند یک متد را بازنویسی نمایند. اگر خود کلاس با استفاده از final تعریف شده باشد نمی‌توان آن را گسترش داد.

Example #1 نمونه متدهای Final

<?php
class BaseClass {
   public function 
test() {
       echo 
"BaseClass::test() called\n";
   }
   
   final public function 
moreTesting() {
       echo 
"BaseClass::moreTesting() called\n";
   }
}

class 
ChildClass extends BaseClass {
   public function 
moreTesting() {
       echo 
"ChildClass::moreTesting() called\n";
   }
}
// Results in Fatal error: Cannot override final method BaseClass::moreTesting()
?>

Example #2 نمونه کلاس Final

<?php
final class BaseClass {
   public function 
test() {
       echo 
"BaseClass::test() called\n";
   }

   
// Here it doesn't matter if you specify the function as final or not
   
final public function moreTesting() {
       echo 
"BaseClass::moreTesting() called\n";
   }
}

class 
ChildClass extends BaseClass {
}
// Results in Fatal error: Class ChildClass may not inherit from final class (BaseClass)
?>

Note: ویژگی‌ها را نمی‌توان final اعلام نمود تنهاکلاس‌ها و مندها را می‌توان final اعلام کرد.


کلاس‌‌ها و اشیا (PHP 5)
PHP Manual