Sobes.tech
Junior

Ի՞նչ է տարբերությունը private և protected մեթոդների միջև։

sobes.tech AI

Պատասխան AI-ից

Կլասի private անդամները հասանելի են միայն հենց այդ կլասի ներսում:

protected անդամները հասանելի են ինչպես կլասի ներսում, այնպես էլ ժառանգական կլասներում:

public class BaseClass
{
    private int _privateField; // Միայն BaseClass-ում հասանելի
    protected int _protectedField; // BaseClass և DerivedClass-ում հասանելի

    public void BaseMethod()
    {
        _privateField = 1; // Լավ
        _protectedField = 2; // Լավ
    }
}

public class DerivedClass : BaseClass
{
    public void DerivedMethod()
    {
        // _privateField = 3; // Կոմպիլյացիայի սխալ: հասանելի չէ
        _protectedField = 4; // Լավ
    }
}