Junior
PHP-də final açar sözünün məqsədi nədir?
sobes.tech Süni İntellekt
AI-dan cavab
final açar sözü, siniflərin, metodların və sabitlərin yenidən yazılmasını qarşısını almaq üçün istifadə olunur.
Tətbiqlər:
-
Siniflər: Əgər sinif
finalkimi elan olunubsa, onu miras almaq mümkün deyil.<?php final class Base { // ... } // Ölümcül xəta: Derived sinfi `final` sinfi olan Base-dən miras ala bilməz // class Derived extends Base { // // ... // } -
Metodlar: Əgər sinif metod
finalkimi elan olunubsa, onu törəmə sinifdə yenidən yaza bilməzsiniz.<?php class Base { final public function process() { // ... } } class Derived extends Base { // Ölümcül xəta: `final` metod Base::process() yenidən yaza bilməzsiniz // public function process() { // // ... // } } -
Sabitlər: PHP 8.1-dən etibarən, sinif sabitləri də
finalkimi elan oluna bilər. Bu, onların törəmə siniflərdə yenidən yazılmasını qarşısını alır.<?php class Base { final public const VERSION = '1.0'; } class Derived extends Base { // Ölümcül xəta: `final` sabit Base::VERSION yenidən yaza bilməzsiniz // public const VERSION = '1.1'; }
final-ın məqsədi:
- Təhlükəsizlik: Sinif/metodun əsas məntiqi və ya gözlənilən davranışının alt siniflərdə dəyişdirilməsini təmin edir.
- API sabitliyi: Xüsusi metod və ya sinifin tətbiqinin dəyişdirilməsini qarşısını alır, bu, kitabxana inkişafında xüsusilə vacibdir.
- Performans (bir az): Bəzi hallarda, tərtibçi optimizatorunun daha aqressiv inline optimizasiyalar etməsinə imkan verə bilər, çünki metodun yenidən yazılmayacağı məlumdur.