Sobes.tech
Junior — Middle

Nesne yönelimli programlamada private ve protected erişim belirteçleri arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Nesne yönelimli programlamada (C# örneğiyle) erişim belirteçleri private ve protected, sınıf üyelerinin görünürlüğü seviyelerinde farklılık gösterir:

  • private — sınıf üyesi yalnızca sınıf içinde erişilebilir. Alt sınıflar veya diğer sınıflar buna erişemez.

  • protected — sınıf üyesi, sınıf içinde ve tüm alt sınıflarında (miras alanlar) erişilebilir, hatta farklı bir isim alanında olsalar bile.

Örnek:

class BaseClass
{
    private int privateField = 1;
    protected int protectedField = 2;

    void Show()
    {
        Console.WriteLine(privateField);   // Erişilebilir
        Console.WriteLine(protectedField); // Erişilebilir
    }
}

class DerivedClass : BaseClass
{
    void ShowDerived()
    {
        // Console.WriteLine(privateField); // Hata: privateField erişilemez
        Console.WriteLine(protectedField);  // Erişilebilir
    }
}

Bu nedenle, protected, private ile karşılaştırıldığında erişim alanını genişletir ve miras alanların temel sınıfın korumalı üyeleriyle çalışmasına izin verir.