Sobes.tech
Middle

Šta zabranjuje korišćenje ključne reči final u PHP?

sobes.tech АИ

Одговор од АИ

Ključna riječ final u kontekstu PHP-a koristi se za sprječavanje nasljeđivanja i prepisivanja:

  1. Finalizacija klase: Primjena final na klasu sprječava kreiranje izvedenih klasa koje nasljeđuju od nje.

    <?php
    final class BaseClass {
        // ...
    }
    
    // class DerivedClass extends BaseClass {} // Fatalna greška: Klasa DerivedClass ne može naslijediti od finalne klase BaseClass
    
  2. Finalizacija metode: Primjena final na metodu unutar klase sprječava njezino prepisivanje u izvedenim klasama.

    <?php
    class ParentClass {
        final public function cannotBeOverridden() {
            // ...
        }
    
        public function canBeOverridden() {
            // ...
        }
    }
    
    class ChildClass extends ParentClass {
        // public function cannotBeOverridden() {} // Fatalna greška: Ne može se prepisati finalna metoda ParentClass::cannotBeOverridden()
        public function canBeOverridden() {
            // Dozvoljeno prepisivanje
        }
    }
    

final se ne može primijeniti na svojstva klase.