Sobes.tech
Junior

Jaka jest różnica między metodami private a protected?

sobes.tech AI

Odpowiedź od AI

Członkowie private klasy są dostępni tylko z wnętrza samej klasy.

Członkowie protected klasy są dostępni z wnętrza klasy oraz z klas dziedziczących.

public class BaseClass
{
    private int _privateField; // Dostępne tylko w BaseClass
    protected int _protectedField; // Dostępne w BaseClass i DerivedClass

    public void BaseMethod()
    {
        _privateField = 1; // OK
        _protectedField = 2; // OK
    }
}

public class DerivedClass : BaseClass
{
    public void DerivedMethod()
    {
        // _privateField = 3; // Błąd kompilacji: niedostępne
        _protectedField = 4; // OK
    }
}