PHP Portal » PHP Handbuch » Final-Schlüsselwort

Werbung

Final-Schlüsselwort


PHP 5 führt das final-Schlüsselwort ein, welches Kindklassen davon abhält, Methoden zu überschreiben, indem man der Definition final voranstellt. Wenn die Klasse selbst als final definiert wird, kann sie nicht erweitert werden.

PHP Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class BaseClass { public function test() { echo "BaseClass::test() aufgerufen\n"; } final public function moreTesting() { echo "BaseClass::moreTesting() aufgerufen\n"; } } class ChildClass extends BaseClass { public function moreTesting() { echo "ChildClass::moreTesting() aufgerufen\n"; } } // Erzeugt einen fatalen Fehler: Cannot override final method BaseClass::moreTesting()

PHP Code
1
2
3
4
5
6
7
8
9
10
11
12
final class BaseClass { public function test() { echo "BaseClass::test() aufgerufen\n"; } // Es macht hier keinen Unterschied, ob die Methode final ist oder nicht final public function moreTesting() { echo "BaseClass::moreTesting() aufgerufen\n"; } } class ChildClass extends BaseClass { } // Erzeugt einen fatalen Fehler: Class ChildClass may not inherit from final class (BaseClass)

Hinweis: Eigenschaften können nicht als final deklariert werden; nur Klassen und Methoden können als final deklariert werden.