Palabra Reservada FINAL
PHP 5 introduce la palabra reservada
final, la cual impide clases hijas desde un metodo que tiene el prefijo
final en la definicion. Si la clase en si misma es definida como
final entonces no puede ser extendida.
PHP 5 introduces the final keyword, which prevents child classes from overriding a method by prefixing the definition with final. If the class itself is being defined final then it cannot be extended. Ejemplo 19-27. Ejemplo de Metodo FINAL Código PHP:
<?php
class ClaseBase {
public function test() {
echo "ClaseBase::Llamada a test() \n";
}
final public function MasTesteo() {
echo "ClaseBase::Llamada a masTesteto()\n";
}
}
class ClHijaase extends ClaseBase {
public function masTesteo() {
echo "ClaseHija::Llamada a masTesteo()\n";
}
}
// Resulta un error Fatal, no puede sobreescribir el metodo final
ClaseBase::masTesteo()
?>
Ejemplo 19-28. Ejemplo de Clase FINAL Código PHP:
<?php
final class ClaseBase {
public function test() {
echo "ClaseBase::Llamada a test() \n";
}
// Here it doesn't matter if you specify the function as final or not
final public function moreTesting() {
echo "ClaseBase::Llamada a masTesteo() \n";
}
}
class ClaseHija extends ClaseBase {
}
// Resulta un error Fatal: La clase Clasehija no puede heredarse desde la clase final (ClaseBase)
?>