Ключевое слово final

В PHP5 введено ключевое слово “final”, используемое для определения финальных элементов и методов класса. Элементы и методы, в объявлении которых указано ключевое слово “final”, нельзя переопределить в классе-потомке.

Пример:
class Foo {
final function bar() {
// ...
}
}
?>

Также возможно использовать ключевое слово “final” в определении самого класса, что запретит создание производных от него классов. При этом все элементы и методы такого класса автоматически являются финальными, и определять их таковыми явно нет необходимости.

Пример:
final class Foo {
// определение класса
}

// следующая строка вызовет ошибку времени выполнения
// class Bork extends Foo {}
?>

Свойства не могут быть финальными.

Существующие программы, не испольующие собственные классы или функции, названные “final”, будут работать без каких-либо изменений.

[fixxxer] Примечание: в PHP все методы класса являются виртуальными.

Март 3, 2008 — Рубрика: PHP
Метки: ,