Sobes.tech
Middle

Čo zakazuje použitie kľúčového slova final v PHP?

sobes.tech AI

Odpoveď od AI

Kľúčové slovo final v kontexte PHP sa používa na zabránenie dedičnosti a prepísania:

  1. Finalizácia triedy: Použitie final na triedu zakazuje vytváranie odvodených tried, ktoré z nej dedičia.

    <?php
    final class BaseClass {
        // ...
    }
    
    // class DerivedClass extends BaseClass {} // Fatálna chyba: Trieda DerivedClass nemôže dediť z finalnej triedy BaseClass
    
  2. Finalizácia metódy: Použitie final na metódu v triede zakazuje jej prepísanie v odvodených triedach.

    <?php
    class ParentClass {
        final public function cannotBeOverridden() {
            // ...
        }
    
        public function canBeOverridden() {
            // ...
        }
    }
    
    class ChildClass extends ParentClass {
        // public function cannotBeOverridden() {} // Fatálna chyba: Nemôže prepísať finálnu metódu ParentClass::cannotBeOverridden()
        public function canBeOverridden() {
            // Povolené prepísanie
        }
    }
    

final sa nedá použiť na vlastnosti triedy.