Класове и обекти (PHP 5)
PHP Manual

Ключова дума final

В PHP 5 е въведена ключовата дума 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";
   }
}
// Резултатът ще е Fatal error: Cannot override final method BaseClass::moreTesting()
?>

Example #2 Пример за final клас

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

   
// Тук няма значение дали методът ще е final или не
   
final public function moreTesting() {
       echo 
"BaseClass::moreTesting() called\n";
   }
}

class 
ChildClass extends BaseClass {
}
// Резултатът ще е Fatal error: Class ChildClass may not inherit from final class (BaseClass)
?>

Класове и обекти (PHP 5)
PHP Manual