March 2, 2020

Модификаторы доступа

Привет ребят, в прошлых уроках мы научились создавать собственные классы и структуры. Сегодня предлагаю разобраться с модификаторами доступа.

В C# существует 6 модификаторов доступа:

  • public - общедоступный класс или член класса. К такому классу можно обратиться из любого места кода или из других программ
  • private - закрытый класс или член класса. В отличии от public обратиться к такому классу можно только в том же классе или контексте
  • protected - класс с таким модификатором доступен из любого места в текущем классе или в производных классах. При этом производные классы могут располагаться в других сборках.
  • internal - класс и члены класса с подобным модификатором доступны из любого места кода в той же сборке, однако он недоступен для других программ и сборок (как в случае с модификатором public).
  • protected internal - по названию понятно, что этот модификатор совмещает свойства protected и internal. Классы и члены класса с таким модификатором доступны из текущей сборки и из производных классов.
  • private protected - В этом случае совмещаются свойства private и protected.Такой член класса доступен из любого места в текущем классе или в производных классах, которые определены в той же сборке.

Задать модификатор можно, либо явно:

internal class NewClass
    {
        public void Wl()
        {
            Console.WriteLine("It is internal class");
        }
    }

Либо можем не указывать совсем:

class NewClass
    {
        void Wl()
        {
            Console.WriteLine("It is internal class");
        }
    }

Если для полей и методов не определен модификатор доступа, то по умолчанию для них применяется модификатор private.

Классы и структуры, объявленные без модификатора, по умолчанию имеют доступ internal.

На этом все, это был простой для понимания теоретический урок.

Удачи, программисты!