Final classes
Inheritance allows for enormous flexibility within a class hierarchy. You can create subclasses to extend the functionality of a base class, but PHP OOP gives the posibility to create classes that cannot be extended. Such a class is called
final class.
A
final class is declared by adding the
final keyword before the
class word.
- For example:
<?php
// base class (declared final)
final class Base {
// ... PHP code
}
// define a child class derivated from Base
class BaseChild extends Base {
// ... PHP instructions
}
?>
Running this code will generate the following error:
Fatal error: Class BaseChild may not inherit from final class (Base) in ...
Final methods
A normal method (public or protected) can be overridden in the child class. If you want a method to remain fixed and unchanging, prefix the definition with the
final keyword.
A final method cannot be overridden.
- For example:
<?php
// base class
class Base {
// final method
final public function testMethod() {
echo 'This is a final method';
}
}
// define a child class derivated from Base
class BaseChild extends Base {
// override the testMethod()
public function testMethod() {
echo 'Another text';
}
}
?>
This example will generate the following error:
Fatal error: Cannot override final method Base::testMethod() in ...
By declaring a class or method final, you limit the flexibility given by inheritance, so, use final with care.
Daily Test with Code Example
HTML
CSS
JavaScript
PHP-MySQL
Which meta tag provides a short description of the page?
<meta content="..."> <meta description="..."> <meta http-equiv="..."><meta name="description" content="70-160 characters that describes the content of the page" />
Which CSS property is used to stop the wrapping effect of the "float"?
clear text-align position#some_id {
clear: both;
}
Click on the method which gets an array with all the elements in the document that have a specified tag name.
getElementsByName() getElementById() getElementsByTagName()var divs = document.getElementsByTagName("div");
var nr_divs = divs.length;
alert(nr_divs);
Indicate the PHP function which returns the number of elements in array.
is_[) count() strlen()$arr =[7, 8, "abc", 10);
$nri = count($arr);
echo $nri; // 4