final
Метод final
Ключове слово final дозволяє вам позначати методи, щоб наслідуючий клас не міг перевантажити їх. Розмістивши перед оголошенням методів або властивостей класу ключове слово final, ви можете запобігти їх перевизначення в дочірніх класах, наприклад:
<? Php
class BaseClass {
public function test () {
echo "Викликаний метод BaseClass:: test () \n";
}
final public function moreTesting () {
echo "Викликаний метод BaseClass:: moreTesting () \n";
}
}
class ChildClass extends BaseClass {
public function moreTesting () {
echo "Викликаний метод ChildClass:: moreTesting () \ n";
}
}
// Виконання закінчується фатальною помилкою:
// Неможливо перезаписати фінальний метод BaseClass:: moreTesting ()
// (Метод BaseClass:: moretesting () не може бути перевизначений)
?>
Класи, помічені як final
Після оголошення класу final він не може бути успадкований. Наступний приклад викличе помилку:
<? Php
final class FinalClass {
}
class BogusClass extends FinalClass {
}
?>