final
Anahtar SözcüğüPHP 5 ile birlikte gelen diğer bir yenilik final anahtar sözcüğüdür. Bu anahtar sözcükle tanımlanmış bir yöntemi çocuk sınıflar geçersiz kılamazlar. Eğer bir sınıf kendini final sözcüğüyle tanımlamışsa o sınıf genişletilemez.
Örnek 1 - final
yöntem örneği
<?php
class AnaSınıf {
public function deneme() {
echo "AnaSınıf::deneme() çağrıldı\n";
}
final public function başkaDeneme() {
echo "AnaSınıf::başkaDeneme() çağrıldı\n";
}
}
class ÇocukSınıf extends AnaSınıf {
public function başkaDeneme() {
echo "ÇocukSınıf::başkaDeneme() çağrıldı\n";
}
}
// Ölümcül hata ile sonuçlanır: AnaSınıf:başkaDeneme() final yöntemi
// ÇocukSınıf::başkaDeneme() yöntemiyle geçersiz kılınamaz
?>
Örnek 2 - final
sınıf örneği
<?php
final class AnaSınıf {
public function deneme() {
echo "AnaSınıf::deneme() çağrıldı\n";
}
// Burada işlevi final olarak belirtmenin bir önemi yoktur
final public function başkaDeneme() {
echo "AnaSınıf::başkaDeneme() çağrıldı\n";
}
}
class ÇocukSınıf extends AnaSınıf {
}
// Ölümcül hata ile sonuçlanır: ÇocukSınıf final bir sınıf
// olan AnaSınıf'ın çocuğu olarak oluşturulamaz
?>
Bilginize: Özellikler
final
olarak bildirilemez, sadece sınıflar ve yöntemlerfinal
olarak bildirilebilir.