PHP Tutorial Tutorials - PHP OOP Final Keyword

PHP OOP Final Keyword

If a class is being defined final then it cannot be extended.
If a method is being defined final then it cannot be overrided by child classes.

Only classes and methods may be declared as final.
Properties and constants cannot be declared final.

Preventing Class Inheritance

<?php
final class ParentClass {
    
}

class ChildClass extends ParentClass {
}
?> 

Fatal error: Class ChildClass may not inherit from final class (ParentClass)

Preventing Method Overriding

<?php
class ParentClass {
   public function test() {

   }
   
   final public function moreTesting() {

   }
}

class ChildClass extends ParentClass {
   // Fatal Error: Overriding final methods
   public function moreTesting() {

   }
}
?> 

Fatal error: Cannot override final method ParentClass::moreTesting()

Date:2019-10-09 00:58:34 From:www.Lautturi.com author:Lautturi