In the previous section, we learned how to disable overriding. I used the final keyword before the accessor of the method that would prevent overriding Using final when declaring a class prevents inheritance.
- final class class name{}
So let's look at an example.
- <?php
- final class GoogleCar
- {
- }
- class Car extends GoogleCar
- {
- public function hello()
- {
- return 'hello';
- }
- }
- $ever = new Car;
- echo $ever->hello();
- ?>
The code above does not allow you to inherit GoogleCar using final.
But Car class is inheriting.
So I get an error
Result of the code above
Result
Clearing final in the code above allows inheritance, so no error occurs.
- <?php
- class GoogleCar
- {
- }
- class Car extends GoogleCar
- {
- public function hello()
- {
- return 'hello';
- }
- }
- $ever = new Car;
- echo $ever->hello();
- ?>
Result
Thank you.