Sobes.tech
Middle

Ce interzice utilizarea cuvântului cheie final în PHP?

sobes.tech AI

Răspuns de la AI

Cuvântul cheie final în contextul PHP este utilizat pentru a preveni moștenirea și suprascrierea:

  1. Finalizarea clasei: Aplicarea final la o clasă împiedică crearea de clase derivate care o extind.

    <?php
    final class BaseClass {
        // ...
    }
    
    // class DerivedClass extends BaseClass {} // Eroare fatală: Clasa DerivedClass nu poate moșteni de la clasa finală BaseClass
    
  2. Finalizarea metodei: Aplicarea final la o metodă dintr-o clasă împiedică suprascrierea acesteia în clasele derivate.

    <?php
    class ParentClass {
        final public function cannotBeOverridden() {
            // ...
        }
    
        public function canBeOverridden() {
            // ...
        }
    }
    
    class ChildClass extends ParentClass {
        // public function cannotBeOverridden() {} // Eroare fatală: Nu se poate suprascrie metoda finală ParentClass::cannotBeOverridden()
        public function canBeOverridden() {
            // Suprascrierea este permisă
        }
    }
    

final nu poate fi aplicat proprietăților clasei.