Sobes.tech
Junior — Middle

Obyektga yo'naltirilgan dasturlashda private va protected kirish modifikatorlari o'rtasidagi farq nima?

sobes.tech AI

AIdan javob

Obyektga yo'naltirilgan dasturlashda (C# misolida) kirish modifikatorlari private va protected sinf a'zolarining ko'rinish darajasida farq qiladi:

  • private — sinf a'zosi faqat o'z sinfi ichida kirish mumkin. Subsinflar yoki boshqa sinflar unga kirish olmaydi.

  • protected — sinf a'zosi o'z sinfi va uning barcha subsinflarida (meros oluvchilar) kirish mumkin, hatto ular boshqa nomlar maydonida bo'lsa ham.

Misol:

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

    void Show()
    {
        Console.WriteLine(privateField);   // Mavjud
        Console.WriteLine(protectedField); // Mavjud
    }
}

class DerivedClass : BaseClass
{
    void ShowDerived()
    {
        // Console.WriteLine(privateField); // Xato: privateField kirish mumkin emas
        Console.WriteLine(protectedField);  // Mavjud
    }
}

Shu bilan, protected private ga nisbatan ko'rinish doirasini kengaytiradi, meros oluvchilarga asosiy sinfning himoyalangan a'zolari bilan ishlash imkonini beradi.