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; // OK
        _protectedField = 2; // OK
    }
}

public class DerivedClass : BaseClass
{
    public void DerivedMethod()
    {
        // _privateField = 3; // Σφάλμα μεταγλώττισης: μη διαθέσιμο
        _protectedField = 4; // OK
    }
}