Sobes.tech
Back to questions
Junior — Middle
71

Какие основные различия существуют между модификаторами доступа public, private и protected в языке программирования?

Companies where asked
AndersenAndersen

Answer from AI

sobes.tech AI

В C# модификаторы доступа определяют видимость членов класса:

  • public: доступен из любого кода, без ограничений.
  • private: доступен только внутри того же класса или структуры.
  • protected: доступен внутри того же класса и в производных классах.

Пример:

class BaseClass {
    public int PublicField;
    private int PrivateField;
    protected int ProtectedField;

    void Method() {
        // Доступ ко всем полям внутри класса
        PublicField = 1;
        PrivateField = 2;
        ProtectedField = 3;
    }
}

class DerivedClass : BaseClass {
    void Method() {
        PublicField = 1;      // Доступен
        // PrivateField = 2;  // Ошибка, недоступен
        ProtectedField = 3;   // Доступен
    }
}

Таким образом, private самый ограниченный, protected расширяет доступ для наследников, а public — полностью открыт.