PHP 5 introduz a palavra-chave 'final', que previne que classes filhas
sobrecarreguem um método ou variável. Basta prefixar a definição com 'final'.
Exemplo 19-27. Exemplo de métodos 'final'
<?php class ClasseBase { public function teste() { echo "ClasseBase::teste() chamado\n"; } final public function maisTeste() { echo "ClasseBase::maisTeste() chamado\n"; } }
class ClasseFilha extends ClasseBase { public function maisTeste() { echo "ClasseFilha::maisTeste() called\n"; } } // Resulta em erro Fatal: Não pode sobrescrever método final ClasseBase::maisTeste() ?>
|
|
Exemplo 19-28. Exemplo de classe Final
<?php final class ClasseBase { public function teste() { echo "Método ClasseBase::teste() chamado\n"; }
// Aqui não importa se você especificar a função como Final ou não final public function maisTeste() { echo "Método ClasseBase::maisTeste() chamado\n"; } }
class ClasseFilha extends ClasseBase { } // Resulta em erro Fatal: A classe ClasseFilha não pode herdar de uma classe Final (ClasseBase) ?>
|
|