Sobes.tech
Middle

PHP'de final anahtar kelimesinin kullanımını ne engeller?

sobes.tech yapay zeka

AI'dan gelen yanıt

PHP bağlamında final anahtar kelimesi, kalıtımı ve üzerine yazmayı engellemek için kullanılır:

  1. Sınıfın sonlandırılması: final'ın bir sınıfa uygulanması, ondan türeyen alt sınıfların oluşturulmasını engeller.

    <?php
    final class BaseClass {
        // ...
    }
    
    // class DerivedClass extends BaseClass {} // Ölümcül hata: DerivedClass sınıfı final olan BaseClass'tan kalıtım yapamaz
    
  2. Yöntemin sonlandırılması: Bir sınıf içindeki final'ın uygulanması, bu yöntemin alt sınıflarda üzerine yazılmasını engeller.

    <?php
    class ParentClass {
        final public function cannotBeOverridden() {
            // ...
        }
    
        public function canBeOverridden() {
            // ...
        }
    }
    
    class ChildClass extends ParentClass {
        // public function cannotBeOverridden() {} // Ölümcül hata: Final yöntem ParentClass::cannotBeOverridden() üzerine yazılamaz
        public function canBeOverridden() {
            // Üzerine yazma izinlidir
        }
    }
    

final sınıf özelliklerine uygulanamaz.