Sobes.tech
Junior — Middle

Jakie są główne różnice między modyfikatorami dostępu public, private i protected w języku programowania?

sobes.tech AI

Odpowiedź od 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 — полностью открыт.