C# Dersleri 81 - Sealed Sınıflar

C# Dersleri 81 - Sealed Sınıflar


C# Sealed Sınıflar (Mühürlü Sınıflar) Nedir?

Sealed (Mühürlü) sınıflar, başka bir sınıf tarafından türetilemeyen (miras alınamayan) sınıflardır. sealed anahtar kelimesi, sınıfın başka bir sınıf tarafından kalıtım yoluyla genişletilmesini engellemek için kullanılır.

Sealed Sınıfların Temel Özellikleri

  • Bir sealed sınıf başka bir sınıftan türetilebilir ancak kendisi başka bir sınıf tarafından türetilemez.
  • Kod güvenliğini sağlamak ve istenmeyen kalıtımı önlemek için kullanılır.
  • sealed yalnızca sınıflarda değil, metotlarda da kullanılabilir.

Sealed Sınıf Tanımlama

Bir sınıfı sealed olarak tanımlamak için sealed anahtar kelimesi kullanılır:

sealed class FinalClass
{
    public void Display()
    {
        Console.WriteLine("Bu sınıf başka bir sınıf tarafından miras alınamaz.");
    }
}

// Hata! Sealed sınıflar başka sınıflar tarafından türetilemez
// class DerivedClass : FinalClass { }

Sealed Sınıf Kullanımı

class Program
{
    static void Main(string[] args)
    {
        FinalClass obj = new FinalClass();
        obj.Display();
    }
}

Programın Çıktısı

Bu sınıf başka bir sınıf tarafından miras alınamaz.

Sealed Metotlar

Bir sınıftaki metot, sealed anahtar kelimesi ile mühürlenerek alt sınıflar tarafından geçersiz kılınamaz (override edilemez). Ancak, sealed metotlar yalnızca override edilmiş metotlar üzerinde kullanılabilir.

class BaseClass
{
    public virtual void ShowMessage()
    {
        Console.WriteLine("BaseClass: Mesaj gösteriliyor.");
    }
}

class DerivedClass : BaseClass
{
    public sealed override void ShowMessage()
    {
        Console.WriteLine("DerivedClass: Mesaj gösteriliyor.");
    }
}

// Hata! Sealed metodunu geçersiz kılamazsınız
// class AnotherDerivedClass : DerivedClass
// {
//     public override void ShowMessage() { } // HATA!
// }

Sealed Sınıfların Kullanım Alanları

  • Güvenlik: Başka sınıfların bir sınıfın yapısını değiştirmesini önlemek için.
  • Performans: Derleyici, sealed sınıfların daha optimize çalışmasını sağlar.
  • Kod Kontrolü: Miras alınmasını istemediğiniz özel sınıfları korumak için.

Sonuç

Sealed sınıflar, sınıfın başka sınıflar tarafından genişletilmesini engelleyerek, kod güvenliğini ve bütünlüğünü sağlar. Ayrıca, sealed metotlar kullanılarak belirli metotların alt sınıflar tarafından değiştirilmesi önlenebilir.

Bu içeriği beğendiyseniz paylaşarak destek olabilirsiniz!


Eğitim İçeriği

Eğitim C# Dersleri
Kategori Programlama Dili
Ders Adeti 80 Ders
Dil Türkçe
Güncelleme 04/2024
  • HTML Dersleri

    HTML Dersleri Sıfırdan İleri Seviyeye

    Kategori Web Programlama
    Ders Süresi 19 Ders
    Dil Türkçe
    Güncelleme 12/2020
    Derse Başla
  • Java Dersleri

    Java Dersleri ve Nesne Yönelimli Programlama

    Kategori Programlama Dili
    Ders Süresi 125 Ders
    Dil Türkçe
    Güncelleme 09/2020
    Derse Başla
  • CSS Dersleri

    CSS Dersleri Başlangıçtan İleri Seviyeye

    Kategori Web Programlama
    Ders Süresi 49 Ders
    Dil Türkçe
    Güncelleme 10/2021
    Derse Başla
  • Java Örnek Projeler

    Java Örnek Projeler

    Kategori Programlama Dili
    Ders Süresi 20 Ders
    Dil Türkçe
    Güncelleme 10/2022
    Derse Başla
  • C# Dersleri

    C# Dersleri ve Nesne Yönelimli Programlama

    Kategori Programlama Dili
    Ders Süresi 100 Ders
    Dil Türkçe
    Güncelleme 04/2024
    Derse Başla