Sobes.tech
Middle

PHP-də final açar sözünün istifadəsini nə qadağan edir?

sobes.tech Süni İntellekt

AI-dan cavab

PHP kontekstində final açar sözü irsiyyəti və üst-üstə düşürməyi qarşısını almaq üçün istifadə olunur:

  1. Sınıfın sonlandırılması: final-ın sinfə tətbiqi, ondan törəyən alt sinflərin yaradılmasını qadağan edir.

    <?php
    final class BaseClass {
        // ...
    }
    
    // class DerivedClass extends BaseClass {} // Ölümcül xəta: DerivedClass sinfi final olan BaseClass sinfindən irsiyə ala bilməz
    
  2. Metodun sonlandırılması: Sinif daxilində final-ın tətbiqi, bu metodun alt sinflərdə üst-üstə düşürülməsini qadağan edir.

    <?php
    class ParentClass {
        final public function cannotBeOverridden() {
            // ...
        }
    
        public function canBeOverridden() {
            // ...
        }
    }
    
    class ChildClass extends ParentClass {
        // public function cannotBeOverridden() {} // Ölümcül xəta: Final ParentClass::cannotBeOverridden() metodunu üst-üstə düşürmək olmaz
        public function canBeOverridden() {
            // Üst-üstə düşürmə icazə verilir
        }
    }
    

final sinif xüsusiyyətlərinə tətbiq edilə bilməz.