Sobes.tech
Middle

Nesne yönelimli programlamada hangi yöntem yeniden tanımlanamaz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Nesne yönelimli programlamada, "son" veya "üzerine yazılamaz" metodlar olarak bilinen bir kavram vardır. Bunlar, alt sınıfların uygulamalarını değiştiremeyeceği şekilde ilan edilen metodlardır.

Programlama diline bağlı olarak, bu metodları ilan etmek için sözdizimi değişebilir:

  • Java: final anahtar kelimesi kullanılır.
    public final void cannotOverride() {
        // Bu metod alt sınıflarda üzerine yazılamaz
    }
    
  • C#: sealed anahtar kelimesi kullanılır.
    public sealed override void CannotOverride() {
        // Bu metod temel sınıftan üzerine yazılmış ve artık sealed
    }
    
    // Veya başlangıçtan itibaren sealed yapabilir, eğer üzerine yazılmayacaksa
    public sealed void CannotOverrideFromStart() {
        // Bu metod üzerine yazılamaz
    }
    
  • Python: Sözdizimi seviyesinde metodların üzerine yazılmasını engellemek için yerleşik bir mekanizması yoktur. Bu genellikle anlaşma veya dekoratörler / metaclass kullanımıyla sağlanır, ancak kesin koruma sağlamazlar.

Bu nedenle, final (Java) veya sealed (C#) olarak işaretlenmiş bir metod, alt sınıflarda üzerine yazılamayan bir metoddur.