Sobes.tech
Junior — Middle

Nesnelerin oluşturulmasının, başlatıldıktan sonra değiştirilemez olmalarının ne anlama geldiğini açıklayın.

sobes.tech yapay zeka

AI'dan gelen yanıt

Nesnelerin, başlatıldıktan sonra değişmeyen nesnelerin oluşturulması, nesne oluşturulduktan ve alanları belirlendikten sonra, bu nesnenin durumunun değiştirilemeyeceği anlamına gelir. Bu tür nesneler immutable (değişmez) olarak adlandırılır.

C#'ta bu, örneğin, şu yollarla başarılır:

  • alanları readonly olarak ilan etmek;
  • özelliklerde setter olmaması (sadece getter);
  • tüm verilerin yapıcı (constructor) aracılığıyla başlatılması.

Değişmez nesnelerin avantajları:

  • Ekstra senkronizasyon olmadan thread-safe güvenlik.
  • Nesne durumunun değişmemesi nedeniyle kodun anlaşılmasını kolaylaştırır.
  • Koleksiyonlar ve önbelleklerde anahtar olarak kullanılır.

Örnek:

public class Person
{
    public string Name { get; }
    public int Age { get; }

    public Person(string name, int age)
    {
        Name = name;
        Age = age;
    }
}

Person örneği oluşturulduktan sonra, özellikleri değiştirilemez.