C# – Destructor(Yıkıcı Metodlar) Nedir Ve Nasıl Kullanılır?


C# destructorlar, bir nesnenin bellekteki ömrünün sona erdiği ve önbellekten silinmesi gerektiği zaman çalışan özel bir metoddur. Bir nesne yok edildiğinde, bellekte ayırdığı kaynaklar serbest bırakılır ve başka nesneler tarafından kullanılabilir hale gelir.

C# destructorlar, sınıfın adı ile tanımlanır ve aşağıdaki sözdizimine sahiptir:

~SinifAdi()
{
    // Nesne yok edilirken yapılacak işlemler
}

Destructorlar, sınıfın yapıcı metodundan sonra tanımlanır ve sınıfın özel bir türüdür. Bir sınıf birden fazla destructor içerebilir ancak bu durumda yalnızca birinci destructor çalıştırılır.

Destructorlar, nesnenin kullanımdan kaldırılması öncesinde yapılması gereken özel işlemleri gerçekleştirmek için kullanılabilir. Örneğin, bir dosya veya veritabanı bağlantısı açıldığında, nesne yok edildiğinde kapatılmalıdır. Bunun için bir destructor kullanılabilir.

Aşağıdaki örnek, bir sınıfın destructor kullanımını göstermektedir:

using System;

class OrnekSinif
{
    private int deger;

    public OrnekSinif(int gelenDeger)
    {
        deger = gelenDeger;
        Console.WriteLine("Sınıf yapıcı metoduna girildi.");
    }

    ~OrnekSinif()
    {
        Console.WriteLine("Destructor çalıştı.");
    }
}

class Program
{
    static void Main(string[] args)
    {
        OrnekSinif nesne = new OrnekSinif(10);
        Console.WriteLine("Nesne oluşturuldu.");
    }
}

Yukarıdaki kod örneği, bir sınıfın yapıcı metodu ve destructorunu içermektedir. Program, sınıfın yapıcı metodu ile nesne oluşturduktan sonra, “Nesne oluşturuldu” mesajını ekrana yazdırır. Daha sonra, programın sonunda nesne yok edildiğinde destructor çalışır ve “Destructor çalıştı” mesajını ekrana yazdırır.

Destructorlar, garbage collector tarafından çağrılır ve nesnelerin ömür döngüsünü kontrol eder. Bu nedenle, programcılar genellikle destructor kullanmak yerine IDisposable arayüzünü kullanarak bellek yönetimini sağlarlar. IDisposable arayüzü, nesnelerin ömrünü kontrol etmek için daha etkili bir yöntemdir.

Bir yorum yazın

Yorumlar