In Php we can use final keyword with Classes and Methods.
1. Final Classes Prevent inheritance
2. Final Methods Prevent Method Overriding
Final Classes:
If we declare a class as final class then subclass can not be extend parent class.
final Class Parent
{
public function show($a,$b)
{
$mul=$a*$b;
echo "Multiplication of given no=".$mul;
}
}
class Child extends Parent
{
function show($a,$b)
{
$sum=$a+$b;
echo "Sum of given no=".$sum;
}
}
$obj= new Child();
$obj->show(100,100);
Output Fatal error: Class Child may not inherit from final class (Parent) in C:xampp\htdocs\test\index.php on line 17
Final Methods:
If we declared a method as final method in parent class then subclass can not be overriding parent class method.
class Parent
{
final function show($a,$b)
{
$mul = $a*$b;
echo "Multiplication of given no=".$mul;
}
}
class Child extends Parent
{
public function show($a,$b)
{
$sum = $a+$b;
echo "Sum of given no=".$sum;
}
}
$obj= new Child();
$obj->show(100,100);
Output Fatal error: Cannot override final method Parent::show() in C:xampp\htdocs\test\index.php on line 18
