Sobes.tech
Middle

PHPda final kalit so'zidan foydalanishni nima taqiqlaydi?

sobes.tech AI

AIdan javob

PHP kontekstida final kalit soʻzi merosxoʻrlik va qayta yozishni oldini olish uchun ishlatiladi:

  1. Sinfni yakunlash: final ni sinfga qoʻllash, undan voris sinflar yaratishni taqiqlaydi.

    <?php
    final class BaseClass {
        // ...
    }
    
    // class DerivedClass extends BaseClass {} // Oʻlim xatosi: DerivedClass sinfi final BaseClass sinfidan meros ololmaydi
    
  2. Metodni yakunlash: Sinf ichidagi final ni metodga qoʻllash, uni voris sinflarda qayta yozishni taqiqlaydi.

    <?php
    class ParentClass {
        final public function cannotBeOverridden() {
            // ...
        }
    
        public function canBeOverridden() {
            // ...
        }
    }
    
    class ChildClass extends ParentClass {
        // public function cannotBeOverridden() {} // Oʻlim xatosi: Final ParentClass::cannotBeOverridden() metodini qayta yozib boʻlmaydi
        public function canBeOverridden() {
            // Qayta yozish ruxsat etilgan
        }
    }
    

final sinf xususiyatlariga qoʻllanmaydi.