A PHP 5 bevezeti a final kulcsszót, ami megakadályozza ezzel a kulcsszóval
definiált metódusok felülírását az öröklő osztályokban. Ha az oszály a final
kulcsszóval van definiálva, nem lehet már egy osztálynak se szülő osztálya.
Példa 19-29. Zárt metódus példa
<?php class BaseClass { public function test() { echo "BaseClass::test() meghívva\n"; } final public function moreTesting() { echo "BaseClass::moreTesting() meghívva\n"; } }
class ChildClass extends BaseClass { public function moreTesting() { echo "ChildClass::moreTesting() meghívva\n"; } } // Results in Fatal error: Cannot override final method BaseClass::moreTesting() // Fatális hiba: Nem lehet felülírni a zárt metódost: BaseClass::moreTesting() ?>
|
|
Példa 19-30. Zárt osztály példa
<?php final class BaseClass { public function test() { echo "BaseClass::test() meghívva\n"; }
// Itt nem gond, ha a függvényt zártként határozod meg, vagy nem final public function moreTesting() { echo "BaseClass::moreTesting() meghívva\n"; } }
class ChildClass extends BaseClass { } // Results in Fatal error: Class ChildClass may not inherit from final class (BaseClass) // Fatális hiba: A ChildClass osztály nem örökölhet zárt osztálytól (BaseClass) ?>
|
|