Метод – это именованный блок кода, в котором выполняются те или иные операции. Соответствующий фрагмент обладает рядом инструкций, выполнение которых приводит к определенному результату. Программа будет обращаться к данному элементу, инициируя обработку прописанных указаний.

В C# все инструкции будут выполняться в контексте метода. В объектно-ориентированном программировании так называют функцию или процедуру, принадлежащую к тому или иному классу/объекту.

Все methods бывают:

  • простыми;
  • статическими.

Данная статья расскажет о второй категории и ключевом слове static в C Sharp.

Ключевое слово static в C#

Static – это ключевое слово, которое широко применяется в программировании, включая Си Шарп. Иногда нужно определять член класса, который будет применяться независим от всех остальных объектов этого класса. Доступ к члену организовывается путем объекта класса. Но есть и другое решение. В программировании допускается создание отдельного члена класса без ссылок на конкретный экземпляр объекта. В этом помогает ключевое слово static.

Если члены этого же класса объявляются в качестве статических, они становятся доступными до создания разных объектов своего класса без ссылок на objects. Существует множество различных методов рассматриваемого типа. Наиболее распространенный – Main(). Он объявляется статическим из-за того, что должен вызываться имеющейся системой при запуске того или иного приложения.

Для использования статическим членом за пределами класса, нужно прописать class name с оператором-точкой. Никакого создания объекта не потребуется. Члены типа static оказываются доступными не по ссылкам, а по именам класса.

Говоря о переменных, можно отметить, что static – это глобальные переменные по своему существу. Если объекты будут созданы в своем же классе, копии переменных статического типа не образовываются. Вместо этого все экземпляры будут использованы совместно с одной и той же переменной типа static.

Общая информация о статических классах и методах

Static methods – это методы класса. Они не имеют доступа к данным объекта. Чтобы ими пользоваться, не нужно создавать экземпляры данного класса. Это общее правило в программировании. На C# оно тоже распространяется.

В качестве статических данных могут использоваться:

  • методы;
  • классы;
  • переменные (public static int, public void и так далее).

Для того, чтобы класс (переменная или method) стали статическими, нужно грамотно объявить их. А именно – использовать ключевое слово static.

Статический класс – это класс, который объявляется по указанному ранее принципу в плане синтаксиса. Ниже можно увидеть форму его реализации в программном коде:

C# и ключевое слово static

Здесь className – это имя статического класса.

Ограничения

При использовании рассматриваемого вида методов в C# нужно помнить о некоторых ограничениях:

  1. Нельзя использовать ссылку this. Связано это с тем, что такие «инструкции» не будут выполняться относительно имеющихся в программном коде объектов.
  2. Можно непосредственно вызвать static из других методов с аналогичным «спецификатором». Исключение – если речь идет о methods того же самого class. Это объясняется оперированием определенными объектами. Они у рассматриваемого «элемента» отсутствуют.
  3. Точно такие же ограничения будут наложены и на данные с рассматриваемым модификатором. Метод не сможет управлять переменными экземпляра из-за отсутствия объектов, в которых соответствующие манипуляции были бы доступны.

Этой информации достаточно для того, чтобы работать со статическими элементами в C#. Далее предстоит разобраться с несколькими наглядными примерами. Они помогут усвоить материал более быстро.

Конструктор

Конструкторы тоже могут стать статическими. Они применяются специально для того, чтобы инициализировать элементы, используемые в пределах всего class, а не по конкретному экземпляру его объекта (члены будут инициализироваться конструктором до их создания).

Здесь нужно запомнить, что:

  • у конструкторов нет модификаторов доступа;
  • параметры не принимаются;
  • вызывать в программе конструктор вручную не представляется возможным.

Конструктор потребуется, если нужно выполнить действия в программном коде, которые реализовываются всего один раз.

C# и ключевое слово static

Выше – наглядный пример такого конструктора. Он вызывается автоматически. Происходит это тогда, когда класс загружается впервые, еще до конструктора экземпляра. Отсюда следует простой вывод: статические конструкторы выполняются до любых конструкторов экземпляра. У них также отсутствуют модификаторы доступа – они применяются с параметром «по умолчанию». Все это делает вызов конструктора непосредственно из приложения невозможным.

Классы

С формой представления такого статического элемента все ясно. Теперь можно рассмотреть наглядный пример, разобравшись с особенностями изучаемого компонента.

Static Class имеет два свойства:

  • его объекты нельзя создавать;
  • он должен включать в себя исключительно члены такого же типа.

А вот – наглядный пример в действии:

C# и ключевое слово static

При его обработке на экране будет выведен результат:

C# и ключевое слово static

Применяются classes упомянутого типа в двух случаях: при создании метода расширения (они связаны преимущественно с языком LINQ), а также для того, чтобы хранить совокупности связанных static-методов. Выше – пример кода и результата второго случая.

Методы

А вот – пример static-метода:

C# и ключевое слово static

Такие элементы определяют общее для всех объектов поведение в программном коде. В предложенном примере в Person использован статический метод CheckRetirementStatus(). Он в виде параметра будет принимать объект Person, после чего производит проверку пенсионного статуса.

Секрет быстрого обучения

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

Можно выучиться в ВУЗе, потратив на это много времени и денег. Подход неплохой, но в большинстве университетов C# не изучается – разве что поверхностно. Зато подтвердить приобретенные навыки получится при помощи диплома государственного образца.

Самым лучшим способом вливания в любую IT-профессию, а также язык программирования, является посещение дистанционных онлайн курсов. В срок до 12 месяцев пользователей научат с нуля разбираться в кодах, объяснят, как работают main и return, а также научат писать собственные приложения на выбранном языке. Пример – образовательный центр OTUS.

Во время обучения гарантируется поддержка кураторами и интересные домашние задания. Пользователи смогут сформировать портфолио и попрактиковаться как в простых, так и в сложных задачах. В конце обучения каждый получит электронный сертификат, подтверждающий приобретенный спектр умений и знаний документально. Обучение проходит полностью через интернет. Вернуться к вебинарам пользователь сможет в любое удобное ему время.

C# и ключевое слово static

Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!