Sobes.tech
Back to questions
Junior — Middle
67

Объясните, что означает модификатор доступа 'protected' в языке программирования и как он используется в классах?

Answer from AI

sobes.tech AI

Модификатор доступа protected в C# означает, что член класса доступен:

  • Внутри самого класса,
  • В производных классах (наследниках), даже если они находятся в другом пространстве имён или сборке.

Однако, в отличие от public, protected не позволяет доступ к члену из других классов, не являющихся наследниками.

Пример использования:

class BaseClass
{
    protected int protectedValue = 10;
}

class DerivedClass : BaseClass
{
    public void ShowValue()
    {
        Console.WriteLine(protectedValue); // Доступ разрешён
    }
}

class OtherClass
{
    public void TryAccess()
    {
        BaseClass obj = new BaseClass();
        // Console.WriteLine(obj.protectedValue); // Ошибка компиляции: нет доступа
    }
}

Таким образом, protected помогает ограничить доступ к членам класса, позволяя использовать их только в иерархии наследования.