Sobes.tech
Middle

Obyekt yönümlü proqramlaşdırmada hansı metod yenidən təyin edilə bilməz?

sobes.tech Süni İntellekt

AI-dan cavab

Obyekt yönümlü proqramlaşdırmada "son" və ya "yenidən yazıla bilməyən" metodlar kimi tanınan anlayış mövcuddur. Bunlar, törəmə siniflərin onların tətbiqini dəyişdirə bilmədiyi şəkildə elan olunan metodlardır.

Proqramlaşdırma dilindən asılı olaraq, bu cür metodların elan olunması üçün sintaksis fərqli ola bilər:

  • Java: final açar sözü istifadə olunur.
    public final void cannotOverride() {
        // Bu metod törəmə siniflərdə yenidən yazıla bilməz
    }
    
  • C#: sealed açar sözü istifadə olunur.
    public sealed override void CannotOverride() {
        // Bu metod bazab sinifdən yenidən yazılıb və indi sealed
    }
    
    // Yaxud, başlanğıcda sealed etmək olar, əgər yenidən yazılmayacaqsa
    public sealed void CannotOverrideFromStart() {
        // Bu metod yenidən yazıla bilməz
    }
    
  • Python: Sintaksis səviyyəsində metodların yenidən yazılmasını qarşısını almaq üçün daxili mexanizmi yoxdur. Bu, adətən razılaşma və ya dekoratorlar / metaclasslər istifadə etməklə əldə edilir, lakin onlar tam qoruma təmin etmir.

Beləliklə, final (Java) və ya sealed (C#) ilə işarələnmiş metod, törəmə siniflərdə yenidən yazıla bilməyən metod hesab olunur.