Final keyword in PHP is used in different context. The final keyword is used only for methods and classes.
Final methods: When a method is declared as final then overriding on that method can not be performed. Methods are declared as final due to some design reasons. Method should not be overridden due to security or any other reasons.
Example:
<?php
class Base {
final function printdata() {
echo " Base class final printdata function" ;
}
function nonfinal() {
echo "\n This is nonfinal function of base class" ;
}
}
class Derived extends Base {
function nonfinal() {
echo "\n Derived class non final function" ;
}
}
$obj = new Derived;
$obj ->printdata();
$obj ->nonfinal();
?>
|
Output:
Base class final printdata function
Derived class non final function
Final Classes: A class declared as final can not be extended in future. Classes are declared as final due to some design level issue. Creator of class declare that class as final if he want that class should not be inherited due to some security or other reasons. A final class can contain final as well as non final methods. But there is no use of final methods in class when class is itself declared as final because inheritance is not possible.
Example:
<?php
final class Base {
final function printdata() {
echo "final base class final method" ;
}
function nonfinal() {
echo "\nnon final method of final base class" ;
}
}
$obj = new Base;
$obj ->printdata();
$obj ->nonfinal();
?>
|
Output:
final base class final method
non final method of final base class
Note: Unlike Java final keyword in PHP can only be used for methods and classes not for variables.
Last Updated :
11 Dec, 2018
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...